当前位置:首页 > 嵌入式 > 嵌入式硬件

摘 要: 通用非同步收发传输器UART是一种通用串行数据总线,双向通信,可以实现全双工传输和接收,用于异步通信。在Simulink环境下,用STATEFLOW对其进行建模,可以将其原理直接转化成模型,摆脱了传统方式下直接手写代码的弊端,而且可以自动生成HDL代码,为FPGA的设计、开发开辟了新的途径。
关键词: 代码自动生成;STATEFLOW;HDL;FPGA

1 传统设计方法与基于模型设计的比较[1]
1.1 传统设计方法的缺陷
(1)信息的交流依赖文档
传统的开发方法中,在不同阶段彼此之间传递的信息需要依赖文档。由于工程师对系统的认识与理解有一定的局限性以及对文档理解的二义性,会在系统开发的过程中引入一些缺陷甚至错误,而这些缺陷或者错误会一步一步地传递到下一个设计阶段。
(2)早期设计阶段引入的错误要在开发后期才能发现
由于设计的嵌入式软件算法需要专门的硬件生产出来之后进行集成的测试,因此在设计阶段早期,引入的一些设计错误要在软、硬件产品都具备之后进行集成与测试时,在开发后期才能够发现早期的错误,此时修正起来不是那么简单,极有可能需要重新编写软件,甚至重新开发硬件。
(3)手写代码与手写文档
传统的设计方法中,产品实现过程只能够利用手写代码来完成。这对于FPGA、HDL的初学者和工程师都是一件麻烦事。文档的错误,再加上手写HDL代码的错误,最终的产品就可能有很多问题,以致于无法完成最后的子系统、分系统和全系统的集成工作。
1.2 基于模型的设计优势
(1)在基于模型的系统设计过程中,所有过程遵循统一环境下的统一的模型。由于可以把测试手段从系统设计的初期引入到整个设计流程中,作为规范的模型能够通过执行仿真来验证自己的正确性,从而保证了规范的正确性。
(2)连续不断的测试与验证。在模型设计的每个环节都引入了测试仿真手段。利用充分的仿真,可以考察系统不同组件对整个系统的影响。
(3)自动代码生成。传统的FPGA设计方法往往是一开始就手写HDL代码,这对于初学者是件困难的。而基于模型的设计优点是只要知道设计原理,就可以用模型直观地设计,省去了手写代码的麻烦,提高了开发的效率,缩短了开发周期。而且模型做成子系统后可以自动生成HDL代码,如果有错,只要修改模型,再重新生成HDL代码即可,为后续的开发提供了便利。
2 UART串口通信原理
在空闲时,TXD为高电平。发送时,先发送起始位(低电平),再发送数据位,最后发送停止位(高电平),发送过程为并入串出。对于接收,空闲时RXD为高电平,低电平来到时,在该位的当中进行采样,如果为0,则为起始位,说明可以采集后面的数据位,直至最后的停止位,接收过程为串入并出。
数据时序图如图1所示。

3 用Simulink、STATEFLOW实现对UART串口行为建模
(1)UART发送模块的STATEFLOW建模如图2所示,TxDS与CnTS为并行状态。

TxDS:从IDLE状态开始,在此状态中,将位计数(BitCnt)设置为0、Ready设置为1(告诉前级模块此时为空闲可以将数据并行传入),将空闲时为高电平(TxD)设置为1;当并行数据有效(Valid=1),将BitCnt设置为10,将要发送的数据(TxDdata)放入临时变量(Tmp),Ready设置为0(告诉前级模块正在发送数据,不要再将新的数据传入)从而进入起始位的发送;进入START状态,发送起始位(TxD=0),当波特率发生器(RateCnt)从15降到0时即控制每一位发送的时间,进入RSHIFT状态(发送数据位);在RSHIFT中,BitCnt减1(即1位发送完毕),将存放在Tmp中待发送数据的最低位取出(发送时先发送最低位),然后Tmp右移1位(准备下一次次低位的发送),当BitCnt减到2时,进入STOP状态;在STOP状态中,发送停止位高电平(TxD=1)。
CnTS:波特率发生器。
(2)UART接收模块的STATEFLOW建模如图3所示。RxDS、CnTS、RTS并行工作。

RxDS:在IDLE状态中,将BitCnt置0,判起始位是否到来,如果为0,进入START中,BitCnt加1变为1。当RateCnt从7减到0时,即在该位的中间时进行判断,如果此时还为0,则确定其为起始位,进入DATA;当RateCnt从15减到0,即在每个数据位的中间对数据位进行判断,将接收到的最低位存放在临时变量Tmp的最高位。通过不断的移位就会将接收到的最低位移到Tmp的最低位,在这个过程中BitCnt不断加1,当BitCnt加到9时回到IDLE。
CnTS:波特率发生器。
RTS:负责后续模块之间的握手。
(3)为了生成HDL代码,必须将UART发送模块和接收模块的STATEFLOW建模部分做成子系统,分别如图4、图5所示。

(4)将发送模块与接收模块连接成整个Simulink模型,如图6所示。

(5)UART模型的仿真运行结果如图7所示。

(6)将发送与接收的代码在Quartus II下做成Symbol,并组成顶层图形文件,如图8所示。

(7)在Quartus II下仿真。
①发送模块在Quartus II下的仿真如图9所示。
②接收模块在Quartus II下的仿真如图10所示。
③顶层图形文件在Quartus II下的仿真如图11所示。

本文在Simulink环境下,用STATEFLOW对UART进行建模。事实表明,用STATEFLOW建模克服了手写代码易出错、效率低等弊端,在了解UART原理的基础上,可用直观的模型将原理生动地表达出来,为FPGA设计人员提供了很大的便利,也为FPGA的设计提供了新的方式。
参考文献
[1] 张威.STATEFLOW逻辑系统建模[M].西安:西安电子科技大学出版社,2007.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭