CN102880576A - 基于stm32f103ve芯片模拟多组uart接口的方法 - Google Patents
基于stm32f103ve芯片模拟多组uart接口的方法 Download PDFInfo
- Publication number
- CN102880576A CN102880576A CN2012100594621A CN201210059462A CN102880576A CN 102880576 A CN102880576 A CN 102880576A CN 2012100594621 A CN2012100594621 A CN 2012100594621A CN 201210059462 A CN201210059462 A CN 201210059462A CN 102880576 A CN102880576 A CN 102880576A
- Authority
- CN
- China
- Prior art keywords
- chip
- simulation
- uart interface
- uart
- interfaces
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明涉及一种基于STM32F103VE芯片模拟多组UART接口的方法,包括如下步骤,A.选定芯片的至少两组GPIO口作为模拟UART接口;B.当各组模拟UART接口中任一组有发送请求时,令芯片的第一定时器启动,第一定时器每隔一段时间中断一次,发送时中断仅仅只是模拟物理层将多组模拟UART接口的TX数据位送出;C.各组模拟UART接口的RX引脚中任一出现中断请求则触发接收请求,同时令芯片的第二定时器启动,第二定时器每隔一段时间中断一次,中断时只采样各模拟UART接口接收端口状态并保存到缓冲区。
Description
技术领域 本发明涉及数据接收和发送,特别是涉及基于STM32F103VE芯片模拟多组UART接口的方法。
背景技术 STM32F103VE芯片以及同类型的芯片,一般只有二至三组UART(Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置)接口,超过五组UART接口的基本没有。但是有些应用场合的设备,需要更多组UART接口以连接不同的硬件设备,例如预付费监控水表***采集器,在设计时需要九个UART接口同时进行并独立工作,最多五个UART接口显然不然满足需要。如果使用UART扩展芯片则价格高且电路复杂;如使用通信专用多UART接口MCU的话,其MCU成本极高,并且其软件与硬件开发成本也随这升高,开发过程中又要学习新的开发环境并要做大量的文档阅读,开发过和可控性差。
发明内容 本发明要解决的技术问题在于避免上述现有技术的不足之处而提出一种基于STM32F103VE芯片模拟多组UART接口的方法;该方法在现有硬件的基础上,能够实现更多组同时工作且相互独立的UART接口,以满足设备通信连接的需要,且无须增加或采用更加昂贵的硬件,节约硬件成本。
本发明解决所述技术问题可以通过采用以下技术方案来实现:
提出一种基于STM32F103VE芯片模拟多组UART接口的方法,包括如下步骤,
A.选定芯片的至少两组GPIO口作为模拟UART接口;
B.当各组模拟UART接口中任一组有发送请求时,令芯片的第一定时器启动,第一定时器每隔一段时间中断一次,以使模拟UART接口完成发送任务,发送时中断仅仅只是模拟物理层将多组模拟UART接口的TX数据位送出,并通知数据链路层对要发送的数据位进行组织;
C.各组模拟UART接口的RX引脚中任一出现中断请求则触发接收请求,同时令芯片的第二定时器启动,第二定时器每隔一段时间中断一次,中断时只采样各模拟UART接口接收端口状态并保存到缓冲区,当接收到停止位时将数据发送到模拟物理层行数字滤波以得到接收字节,之后再把接收到的字节数据传递给数据链路层,最终通过网络层传递给应用层。
本发明方法最多能模拟八组UART接口。
同现有技术相比较,本发明基于STM32F103VE芯片模拟多组UART接口的方法的技术效果在于:1.充分利用STM32F103VE芯片的八组GPIO口(General Purpose Input Output ,通用输入/输出)和两个定时器的现有资源,模拟出2-8组UART接口,满足了设备需要更多UART接口的需要,且无须增加或采用更为昂贵的芯片等硬件,节约硬件成本;2. 模拟的多组UART接口与其他MCU内部硬件UART只是在物理层表现不同,其他各层完全相同,极大方便了程序的移植与硬件升级。
附图说明
图1是模拟UART接口的发送流程示意图;
图2是模拟UART接口的接收流程示意图。
具体实施方式 以下结合附图所示之优选实施例作进一步详述。
本发明实施例基于STM32F103VE芯片模拟多组UART接口的方法,包括如下步骤,
A.选定芯片的至少两组GPIO口作为模拟UART接口;
B.如图1所示,当各组模拟UART接口中任一组有发送请求时,令芯片的第一定时器启动,第一定时器每隔一段时间中断一次,以使模拟UART接口完成不小于9600bps的发送任务,发送时中断仅仅只是模拟物理层将多组模拟UART接口的TX数据位送出,并通知数据链路层对要发送的数据位进行组织;
C.如图2所示,各组模拟UART接口的RX引脚中任一出现中断请求则触发接收请求,同时令芯片的第二定时器启动,第二定时器每隔一段时间中断一次,中断时只采样各模拟UART接口接收端口状态并保存到缓冲区,当接收到停止位时将数据发送到模拟物理层行数字滤波以得到接收字节,之后再把接收到的字节数据传递给数据链路层,最终通过网络层传递给应用层。
由于STM32F103VE芯片有八组GPIO口可以利用,因此本发明方法最多能模拟八组UART接口。
根据设备连接的需要,模拟的UART接口可以在2-8组中任意选择设定,设计的共同点在于:定时中断只是进行GPIO的输入输出,运行耗时极短,数据位的收发处理均放在模拟UART接口物理层的任务中,每增加一个接口则加多一个物理层任务的实例。不同在于,根据需要模拟UART接口组数的多少,相应设计第一定时器和第二定时器的中断间隔时间的长短,以保证设备***的稳定运行。下面以适用于适用于预付费监控水表采集器,需模拟四组UART接口为例,结合图1和图2,说明下模拟UART接口的发送和接收的原理过程,其它组数此处就不再赘述。
数据发送:如图1所示,当四组模拟UART接口中任一组有发送请求时,令芯片的第一定时器启动,第一定时器每隔104.17us中断一次,以使模拟UART接口完成不小于9600bps的发送任务,发送时中断仅仅只是模拟物理层将多组模拟UART接口的TX数据位送出,并通知数据链路层对要发送的数据位进行组织;中断程序极短。
数据接收:如图2所示,四组模拟UART接口的RX引脚中任一出现中断请求则触发接收请求,同时令芯片的第二定时器启动,第二定时器每隔17.36us中断一次,中断时只采样各模拟UART接口接收端口状态并保存到缓冲区,当接收到停止位时将数据发送到模拟物理层行数字滤波以得到接收字节,之后再把接收到的字节数据传递给数据链路层,最终通过网络层传递给应用层。定时中断只是进行了GPIO的采样,其执行时间极短,不会给***造成影响。由于多次采样确定一个数据位,其数据通信的可靠性得到保障。
以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (4)
1.一种基于STM32F103VE芯片模拟多组UART接口的方法,其特征在于:包括如下步骤,
A.选定芯片的至少两组GPIO口作为模拟UART接口;
B.当各组模拟UART接口中任一组有发送请求时,令芯片的第一定时器启动,第一定时器每隔一段时间中断一次,以使模拟UART接口完成发送任务,发送时中断仅仅只是模拟物理层将多组模拟UART接口的TX数据位送出,并通知数据链路层对要发送的数据位进行组织;
C.各组模拟UART接口的RX引脚中任一出现中断请求则触发接收请求,同时令芯片的第二定时器启动,第二定时器每隔一段时间中断一次,中断时只采样各模拟UART接口接收端口状态并保存到缓冲区,当接收到停止位时将数据发送到模拟物理层行数字滤波以得到接收字节,之后再把接收到的字节数据传递给数据链路层,最终通过网络层传递给应用层。
2.如权利要求1所述的基于STM32F103VE芯片模拟多组UART接口的方法,其特征在于:最多能模拟八组UART接口。
3.如权利要求1所述的基于STM32F103VE芯片模拟多组UART接口的方法,其特征在于:各所述模拟UART接口的通信速率不小于9600bps。
4.如权利要求1所述的基于STM32F103VE芯片模拟多组UART接口的方法,其特征在于:该方法适用于预付费监控水表采集器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210059462.1A CN102880576B (zh) | 2012-03-08 | 2012-03-08 | 基于stm32f103ve芯片模拟多组uart接口的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210059462.1A CN102880576B (zh) | 2012-03-08 | 2012-03-08 | 基于stm32f103ve芯片模拟多组uart接口的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102880576A true CN102880576A (zh) | 2013-01-16 |
CN102880576B CN102880576B (zh) | 2015-06-24 |
Family
ID=47481907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210059462.1A Active CN102880576B (zh) | 2012-03-08 | 2012-03-08 | 基于stm32f103ve芯片模拟多组uart接口的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102880576B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017049556A1 (zh) * | 2015-09-24 | 2017-03-30 | 广东欧珀移动通信有限公司 | 数据传输方法和移动终端 |
CN110297800A (zh) * | 2019-06-29 | 2019-10-01 | 飞天诚信科技股份有限公司 | 一种主控芯片与安全芯片之间稳定通信的实现方法及*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201936300U (zh) * | 2010-12-08 | 2011-08-17 | 广东高新兴通信股份有限公司 | 一种usb扩展多路串口装置 |
-
2012
- 2012-03-08 CN CN201210059462.1A patent/CN102880576B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201936300U (zh) * | 2010-12-08 | 2011-08-17 | 广东高新兴通信股份有限公司 | 一种usb扩展多路串口装置 |
Non-Patent Citations (1)
Title |
---|
LIREN0: "《http://download.csdn.net/detail/liren0/4037791》", 31 January 2012 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017049556A1 (zh) * | 2015-09-24 | 2017-03-30 | 广东欧珀移动通信有限公司 | 数据传输方法和移动终端 |
CN108027744A (zh) * | 2015-09-24 | 2018-05-11 | 广东欧珀移动通信有限公司 | 数据传输方法和移动终端 |
US10248611B2 (en) | 2015-09-24 | 2019-04-02 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Data transmission method and mobile terminal |
CN108027744B (zh) * | 2015-09-24 | 2021-08-31 | Oppo广东移动通信有限公司 | 数据传输方法和移动终端 |
CN110297800A (zh) * | 2019-06-29 | 2019-10-01 | 飞天诚信科技股份有限公司 | 一种主控芯片与安全芯片之间稳定通信的实现方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN102880576B (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN202870808U (zh) | 一种spi串口模块的fpga实现装置 | |
CN103888293A (zh) | 多通道fc网络数据仿真***的数据通道调度方法 | |
CN102546843A (zh) | 一种通过软件模拟实现多个uart通信接口的方法 | |
CN106787199A (zh) | 一种便携式子站模拟测试***及方法 | |
CN102801744A (zh) | 一种通信总线协议及包括该协议的*** | |
CN103984240A (zh) | 一种基于反射内存网的分布式实时仿真方法 | |
CN109739712A (zh) | Fpga加速卡传输性能测试方法、装置及设备和介质 | |
CN204256732U (zh) | 基于PCI-Express接口的高速数据传输装置 | |
CN107436851A (zh) | 串行外设接口四线隔离***及其控制方法 | |
CN205004841U (zh) | 智能变电设备及其数据传输*** | |
CN108667706B (zh) | 串口数量动态可调的以太网串口服务器及其数据传输方法 | |
CN102880576B (zh) | 基于stm32f103ve芯片模拟多组uart接口的方法 | |
CN206075270U (zh) | Spi总线接口的1553b总线模块 | |
CN203982361U (zh) | 一种多路串口通信测试装置 | |
CN110399255A (zh) | 一种fpga***及fpga***的调试*** | |
CN204597988U (zh) | 基于pci接口的afdx终端测试设备 | |
CN204597989U (zh) | 基于cpci接口的afdx终端测试设备 | |
CN106126640B (zh) | 内容数据推送方法及装置 | |
CN204188189U (zh) | 一种柔性嵌入式被测设备模拟器 | |
CN208768087U (zh) | 一种串口数据通信链路分路协调控制装置 | |
CN101989250A (zh) | 一种串行通信的方法和*** | |
CN109800200A (zh) | 一种数据通信方法、发起端、响应端及*** | |
CN105376117A (zh) | 一种fc交换机芯片数据监控测试方法 | |
CN203399134U (zh) | Fc网络双端口仿真卡 | |
CN202649368U (zh) | 一种网线检测装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190213 Address after: 563100 U-shaped workshop in Loushanguan High-tech Industrial Development Zone, Three Villages, Chumi Town, Tongzi County, Zunyi City, Guizhou Province Patentee after: Guizhou Huaxu Technology Co., Ltd. Address before: 518103 Huaxu Industrial Park, Phoenix Third Industrial Zone, Fuyong Street, Baoan District, Shenzhen City, Guangdong Province Patentee before: Shenzhen Huaxu Science and Technology Development Co., Ltd. |
|
TR01 | Transfer of patent right |