串行接口的工作原理和实现

发布者:温柔花香最新更新时间:2021-09-27 来源: eefocus关键字:串行接口  工作原理  arm 手机看文章 扫描二维码
随时随地手机看文章

串口的结构和工作原理

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。它将要传输的资料在串行通信并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。


uART使用标准的CMOS逻辑电平(0~5v、0~3.3 V、0~2.5V或0~1.8V四种)来表示数据,高电平为1,低电平为0。为了增强数据的抗干扰能力,提高传输长度,通常将CMOS逻辑电平转换为RS-232逻辑电平(3~15v以o表示,-3~-15V以1表示)。

上图为串行接口的原理图,可以分为三部分分别为发送缓冲寄存器,波特率发生器,接受缓冲寄存器,发送缓冲寄存器从总线接受资源,通过波特发生器发送到接收缓存器中

一句话总结串口:异步全双通串行数据总线


串口寄存器的配置

我们通过查手册找到串口,和我们分析的一样,三条线一个AST,DSR,DGND

注:我们通过看原理图知道,他的两根线一个是接受数据的,一个是发送数据的,其中接地线是用来调节电平的,他的通信方式是通过是板子的串口线和笔记本的串口线,他中间通过一个电平转换芯片来进入这个

继续翻阅可以看见它通过排叉到核心板,这样就可以看见他连接到GPA0的引脚

传输实现

查看手册,对GPA0进行配置


#define GPA0CON *((volatile u32 *)(0x11400000))

#define UART0BASE 0x13800000

 //将GPA0-0  1引脚配置为串口0的发送和接收功能

    GPA0CON &= ~(0XFF<<0);

    GPA0CON |= 0x22;


对串口进行配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//配置数据位8N1

    ULCON0 = 0x3 <<0;

    //配置串口数据收发方式为中断或者论寻

    UCON0 |= (0x1 << 2) | ( 0x1 << 0);

    //使用无FIFO模式

    UFCON0 = 0x0;

    //禁用modem流控

    UMCON0 = 0x0;

    //配置波特率为115200

    UBRDIV0 = 53;

    UFRACVAL0 = 4;


通过这个寄存器来进行数据的收发,0=缓冲区为空,1=缓冲器接收到数据,所以我们这样来实现

在这里插入图片描述

void uart0_putchar(char ch)

{

        while (!(UTRSTAT0 & (0x1 << 1)))

        {

                ;

        }

        UTXH0 = ch;

        

}

char uart0_getchar(void)

{

        char c;

        while (!(UTRSTAT0 & (0x1 << 0)))

        {

                ;

        }

        c = URXH0;


        return c;

        

}


int main(void)

{

  


    uart0_init();

    u8 c;

    while ((c = uart0_getchar()) != '@' )

    {

        uart0_putchar(c);

        uart0_putchar('r');

        uart0_putchar('n');

    }

    

    return 0;

}


通过这样的配置,然后我们通过交叉编译,在arm板中运行这个,就可以实现最简单的串口通信.


串口通信原理的理解

由于程序是跑在板子上的,所以我们的板子请求笔记本发送数据(通过kermit平台),不断的去查询寄存器是是否变化,之后将写入的数据发送给板子的串口

关键字:串行接口  工作原理  arm 引用地址:串行接口的工作原理和实现

上一篇:ARM时钟管理单元--CMU
下一篇:LED的使用纯汇编和C语言的点亮

推荐阅读最新更新时间:2024-11-01 16:21

SAM L21微控制器:ARM架构,5种不同模式
  艾特梅尔是美国加州圣何塞的微控制器厂商。近日,该公司展示了一种全新的产品,这款基于ARM架构的微控制器具备极低功耗,可望极大地延长小型低功耗设备的续航时间。该产品属于全新的SAM L21 32位ARM处理器系列,其处于活动状态时,每兆赫处理速度所需功耗小于35微安,而在深度睡眠模式下,其功耗更是降至200毫微安以下。   该芯片功耗如此之低,以至于仅靠捕获来自身体的能量即可为其供电。而在今年早些时候举办的CES上,艾特梅尔低功耗产品市场经理安德里亚斯·依兰(Andreas Eieland)就曾对此进行过演示。依据依兰的说法,大部分现存的低功耗微控制器单元每兆赫工作速率下所需功耗介于120至160微安之间。而根据嵌入式微处理
[单片机]
SAM L21微控制器:<font color='red'>ARM</font>架构,5种不同模式
音圈马达的工作原理及行业应用
激光精密焊接工艺助力摄像头VCM音圈的产业发展 音圈马达(VCM)属于线性直流马达,具有体积小巧,结构简单等特点,成为移动终端摄像头的最主流产品,其工作原理是通电线圈在永磁场作用下产生的电磁推力和前后簧片形变产生的反力相互作用,形成合力驱动镜片组前后移动,起到对焦的作用,实现影像清晰的目的。音圈马达的工作原理原用于扬声器产生振动发声,故命名为音圈马达 音圈马达的行业应用 音圈马达上游行业主要是簧片、磁石、线圈等基础材料和配件生产行业,下游行业为智能手机、笔记本/平板电脑、安防/会议摄像系统、车载电子、航拍无人机等电子设备生产行业。其中音圈马达在下游行业市场智能手机、平板等的应用尤为显著。 据市场调查数据发现,我国智能手机产
[嵌入式]
音圈马达的<font color='red'>工作原理</font>及行业应用
ARM汇编之APCS规则
APCS规则简述 寄存器使用规则 寄存器r0-r3用于函数调用过程中传递函数形参,各有一个别名 a1—a4,使用前后可以不用恢复原来的值 R4-r11用于保存函数内部局部变量的值,每个函数使用前,必须要保存被调用函数的值,使用完毕,必须恢复原值。各有一个别名叫v1-v8. //特殊寄存器说明 R10 sl 栈限制 R11 fp 桢指针 R12 ip 内部过程调用寄存器 R13 sp 栈指针 R14 lr 连接寄存器 R15 pc 程序计数器 栈的使用规则 //APCS规则规定,AMR的栈采用满减使用指令 Stmfd sp!,{} Ldmfd sp!{} Push{} Pop{
[单片机]
兆欧表的工作原理
兆欧表(megger)俗称摇表,兆欧表大多采用手摇发电机供电,故又称摇表。它的刻度是以兆欧(MΩ)为单位的。它是电工常用的一种测量仪表,主要用来检查电气设备、家用电器或电气线路对地及相间的绝缘电阻,以保证这些设备、电器和线路工作在正常状态,避免发生触电伤亡及设备损坏等事故。 数字兆欧表由中大规模集成电路组成。本表输出功率大,短路电流值高,输出电压等级多(有四个电压等级)。工作原理为由机内电池作为电源经DC/DC变换产生的直流高压由E极出经被测试品到达L极,从而产生一个从E到L极的电流,经过I/V变换经除法器完成运算直接将被测的绝缘电阻值由LCD显示出来。 晶体管兆欧表是一种不用手摇发电机而直接采用直流电源供电的仪表。由晶体
[测试测量]
兆欧表的<font color='red'>工作原理</font>
嵌入式设计方案:ARM9多串口服务器
  以ARM920T 为内核的S3C2440A 作为主控制器和以太网控制芯片DM9000AEP 设计硬件平台; 构建并移植适合嵌入式串口服务器系统的嵌入式Linux 操作系统,利用Linux 完善的TCP/IP 协议设计ARM 端的多线程网络服务器程序。设计实现RS-232C 串口与以太网口数据的双向传输,使现有的智能仪器设备成功接入以太网。   随着计算机网络的发展和物联网的兴起,将智能仪器接入网络已成为一种趋势,以实现数据的共享与远程管理。但是目前大多智能仪器使用的是异步串行通信接口RS-232C /485 /422,因此迫切需要一种能将异步串行通信协议转换为以太网TCP /IP 协议的协议转换器,使现有的串行通信设备方便地接入
[单片机]
嵌入式设计方案:<font color='red'>ARM</font>9多串口服务器
ARM汇编中调用C函数的参数传递方式
对于ARM体系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure Call Standard)标准,ATPCS主要是定义了函数呼叫时参数的传递规则以及如何从函数返回。 不同于x86的参数传递规则,ATPCS建议函数的形参不超过4个,如果形参个数少于或等于4,则形参由R0,R1,R2,R3四个寄存器进行传递;若形参个数大于4,大于4的部分必须通过堆栈进行传递。 我们先讨论一下形参个数为4的情况: 实例1 s// test_asm_args.asm //--------------------------------------------------------
[单片机]
CSR推出ARM mbed操作系统连接方案
Wi-Fi®、 蓝牙®及Bluetooth Smart连接方案为物联网应用的开发消除准入壁垒。 CSR公司日前发布了几款即将推出的面向新型ARM® mbed™操作系统(OS)的连接方案产品细节,这些方案将使开发人员能够更加轻松、快速地开发出完整的物联网(IoT)解决方案。 CSR将为IoT社区开发者提供两款mbed扩展板,其中一款集成了基于CSR6030™和 CSR8311™的Wi-Fi与蓝牙连接方案,另一款则可提供基于CSR1010™的Bluetooth Smart连接功能,将于2015年初全面上市。两款扩展板专为与2014年10月上市的ARM mbed操作系统进行无缝协作而设计,可为所有IoT设备提供所需的基础
[物联网]
CSR推出<font color='red'>ARM</font> mbed操作系统连接方案
Arm 推出 GitHub 平台 AI 工具,简化开发者 AI 应用开发部署流程
专为 GitHub Copilot 设计的 Arm 扩展程序,可加速从云到边缘侧基于 Arm 平台的开发 Arm 原生运行器为部署云原生、Windows on Arm 以及云到边缘侧的 AI 软件提供了无缝的开发体验 GitHub Actions、原生 GitHub 运行器和基于 Arm 平台的 AI 框架相结合,帮助全球 2000 万开发者简化 AI 应用开发部署流程 通过将 Arm® 计算平台与全球最大的开发者社区 GitHub 及其 GitHub Copilot 的强大优势相结合,Arm 正在引领软件开发领域的变革。 借助 Copilot 的 AI 代码建议,开发者可以在 Arm 平台上更高效地编写、测试和优化
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved