您现在的位置是:主页 > 通信 > 通信综合电路图 >
基于SOPC的异步串行通信IP核设计-通信综合电路图
发布时间:2023-03-04 08:24:52所属栏目:通信综合电路图 已帮助人编辑作者:电路图知识网
随着嵌入式技术的发展,基于SoPC技术的嵌入式系统所具有的软硬件可裁减、可扩充、可升级以及可在线修改的特点越来越受到人们的重视。SoPC系统通常具有以下基本特征:采用大容量可编程逻辑器件来实现,单芯片、低功耗;至少包含1个以上的嵌入式处理器IP核;具有一个或多条片上总线作为系统扩展功能的接口;具有充足的片上可编程逻辑资源,用户可以根据需要扩充功能部件。
异步串行通信协议(UART)以低成本、高可靠性等优点而广泛应用于嵌入式系统中,多篇文献也讨论了UART协议的硬件设计方法,但多数只限于讨论UART协议的硬件实现,缺少从SoPC系统的角度论述UART IP核的设计方法。本文以UART IP核和PLB总线为例,讨论了在SoPC系统下UART IP核的设计方法,该方法对其他IP核的设计有一定的参考作用。 1 UART协议介绍UART是一种串行异步通信方式,它采用RS232电平在串行链路上进行全双工的通信,其数据传输格式如图1所示:UART协议在空闲时为高电平,通过发送起始位提示接收方数据传输即将开始,接着传输8位有效数据位和奇偶检验位,最后发送停止位表示一个字符传输完成。

2 SOPC UART通信系统介绍
本文设计的SOPC UART通信系统主要包括MicroBlaze处理器、PLB总线、UART IP核和DDR2控制器IP核,如图2所示。

3 UART IP核设计
3.1 PLB Slave Single模块介绍
如上,UABT IP核作为PLB总线的从设备,必须提供PLB总线接口。但由于PLB总线协议复杂,实现其接口难度较大,Xilinx公司为了使用户编写的逻辑能够方便的连结到PLB总线上,提供了一种PLB总线与用户逻辑之间的接口模块(IPIF,IP Interface),利用它简化了PLB总线接口信号、总线协议和其他接口相关问题。IPIF接口逻辑中最简单的模块称为PLB Slave Single模块,它提供了一种轻量级的PLB总线接口,为PLB总线主设备提供了解析从设备地址空间,读写从设备寄存器/存储空间等基本服务。本文设计的UARTIP核与MicroBlaze处理器之间仅通过寄存器的读写进行交互,PLB Slave Single模块很好的满足了该设计要求,因此采用PLB Slave Single模块与UART逻辑共同构成了UART IP核。PLB Slave Single模块与UART逻辑之间的连接关系如图3所示,接口信号说明如表1所示。


文中设计的UART IP核提供了5个寄存器,如表2所示。其中发送寄存器和读接收寄存器完成UART数据的发送和接收。状态寄存器提供了UART IP核内部状态,包括接收数据有效,发送FIFO满,接收FIFO满,奇偶校验错等状态。控制寄存器提供了UART IP核复位功能。配置寄存器提供了波特率设置,奇偶校验位设置等功能。

3. 3 UART协议逻辑模块设计
本文设计的UART协议逻辑模块主要包括波特率产生模块,发送模块,接收模块,寄存器组等几个部分,其结构如图4所示。寄存器组说明如表2,其他几个模块的设计如图4所示。

3. 3.1波特率模块
波特率模块根据PLB总线提供的时钟产生需要的发送时钟和接收时钟。由于UABT在发送数据时只需要按照发送波特率将数据串行地发出就可以了,因此发送时钟就等于发送波特率。而当UART在接收数据时,需要对串行数据进行采样以判断接收数据。由于接收方和发送方的时钟不可能完全同步,所以需要对每一位接收数据持续电平的时间进行分段。分段越多,接收出现误判的概率就越低,但系统开销也越大。在实际的设计中通常采用发送时钟的16倍作为接收时钟。波特率模块的分频功能由两个16位计数器实现,它将PLB总线时钟按配置寄存器的设定进行分频,产生发送时钟和接收时钟。 3.3.2发送模块
发送模块主要包括发送FIFO和发送单元两部分,如图5(a)所示。发送FIFO数据位宽度为8bit,深度为16字节。发送FIFO缓存MicroBlaze处理器需要发送的数据。当FIFO空间满时,发送模块将状态寄存器中“发送FIFO满”标志位置1,MicroBlaze处理器通过查询该位以判断UART IP核是否可以接收下一个发送数据。

接收模块由接收FIFO和接收单元两部分组成,如图6(a)所示。接收FIFO数据位宽度为8bit,深度16字节,它负责缓存接收单元收到的数据,并在收到数据后将状态寄存器中“接收数据有效”标志位置1.MicroBlaze处理器通过查询该位来判断是否有数据到达。

4. 1系统硬件介绍
本文采用Xilinx公司提供的ML505 V5 FPGA Demo板作为SoPC系统硬件平台。ML505 FPGA演示验证板主要由一块Virtex-5 XC5VLX50T FPGA构成,此外还包括RAM、Flash、以太网接口芯片、USB接口芯片以及ADM3202 RS-232电平转换芯片等外围扩展芯片,其中ADM3202电路原理图如图7所示。



文中详细介绍了一种基于SoPC概念的UART IP核的设计。通过将Xilinx公司提供的PLB Slave Single模块和本文设计的UART逻辑模块结合,快速搭建了一个满足PLB总线接口要求的UART IP核,仿真与综合结果表明该UART IP核各项功能均达到预期要求。该设计方法既采用了成熟的商业IP核,也利用总线接口模块将用户自定义IP核与商业IP核连接成为一个完整的SoPC系统。该方法增加了系统的灵活性、扩展性,同时缩短了系统开发时间,降低了系统开发难度,可为其他嵌入式系统的开发提供有益的参考。
Tags:
相关文章
通信综合电路图相关资讯
三网融合传输网络解决方案-通信综合电路图
LM35DZ构成并行三态输出标准微机电路-通信综合电路图
压缩感知技术在未来移动通信系统中的应用-通信综合电路图
LM386应用于收音机中的电路-通信综合电路图
RS-232/485/422单模单纤解决方案-通信综合电路图
LTE/LTE-A系统自组织网络技术和标准化进展-通信综合电路图
基于软件无线电的通信系统试验平台的设计实现,软硬件原理、架构-通信综合电路图
用于智能标签的运动感知薄型低功耗蓝牙信标解决方案-通信综合电路图
物联网技术在木材管理领域的应用-通信综合电路图
超短波调频收音机电路图-通信综合电路图
收音机动态调试-通信综合电路图
大时钟,小基站,一颗芯片满足微基站不同外设的时钟需求-通信综合电路图
电源滤波去耦网络的应用-通信综合电路图
基于Android平台的即时通信系统客户端设计-通信综合电路图
12x10G带宽的可插拔光纤收发器模块,链路距离300米-通信综合电路图