CN102750240A - 一种基于嵌入式mcu的信道扩展方法 - Google Patents

一种基于嵌入式mcu的信道扩展方法 Download PDF

Info

Publication number
CN102750240A
CN102750240A CN201210220294XA CN201210220294A CN102750240A CN 102750240 A CN102750240 A CN 102750240A CN 201210220294X A CN201210220294X A CN 201210220294XA CN 201210220294 A CN201210220294 A CN 201210220294A CN 102750240 A CN102750240 A CN 102750240A
Authority
CN
China
Prior art keywords
mcu
data
frame
channel
expansion
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
Application number
CN201210220294XA
Other languages
English (en)
Other versions
CN102750240B (zh
Inventor
张皓
麦志伟
肖观送
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huizhou Desay SV Automotive Co Ltd
Original Assignee
Huizhou Desay SV Automotive Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huizhou Desay SV Automotive Co Ltd filed Critical Huizhou Desay SV Automotive Co Ltd
Priority to CN201210220294.XA priority Critical patent/CN102750240B/zh
Publication of CN102750240A publication Critical patent/CN102750240A/zh
Application granted granted Critical
Publication of CN102750240B publication Critical patent/CN102750240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

本发明公开了一种基于嵌入式MCU的信道扩展方法,设置有主控MCU及通过SPI与其连接的扩展MCU,通过软件在扩展MCU上设置模拟UART端口和实现主控MCU与扩展MCU间的通讯机制,主控MCU和扩展MCU都为与每个UART端口建立对应的UART端口标志位及数据缓冲区,包括数据发送缓冲区和数据接收缓冲区。并使用优先级信道分配和缓冲区数据量信道分配结合时间片划分的SPI信道分配方式,有效保障了通信的可靠性。同时,本发明利用很少的硬件投入,通过软件模拟,实现灵活扩展UART接口,扩展了信道,大大降低了研发成本以及产品的成本,而且通信十分稳定可靠。

Description

一种基于嵌入式MCU的信道扩展方法
技术领域
本发明涉及一种基于嵌入式MCU的信道扩展方法。 
背景技术
随着现在电子产品的功能越来越强大,产品内外围设备越来越多,同时板内MCU与外围设备的通信数据量越来越大,实时度要求也越来越高。而常见通信方式中,由于UART的简单易用,被各功能模块广泛使用,例如蓝牙模块、GPS模块、DVD机芯、数字电视模块、开发调试接口等等,、往往会导致主控MCU的UART资源数量告急,导致同时支持的外围模块有限,从而影响整机功能的丰富,降低产品竞争力。
目前市面上有少数的集成IC方案,可以做信道扩展,但是由于市场用量小,货源不稳定,价格很高,同时由于扩展有限,并且通信处理能力固化,设计灵活度很低。另外,几乎没有符合汽车级应用的集成解决方案。 
发明内容
为了解决现有MCU的UART端口不足的问题,本发明提供一种基于嵌入式MCU的信道扩展技术的设计方案。 
一种基于嵌入式MCU的信道扩展方法,设置有主控MCU及与其连接的扩展MCU,通过软件在扩展MCU上设置模拟UART端口和实现主控MCU与扩展MCU间的通讯机制,并通过物理UART端口和模拟UART端口与外部设备连接,主控MCU通过SPI和扩展MCU连接,主控MCU和扩展MCU都为与每个UART端口建立对应的数据缓冲区,包括数据发送缓冲区和数据接收缓冲区,并定义对应的UART端口标志位。 
具体的,所述模拟UART通过高速IO端口模拟UART时序实现。 
更具体的,其实现步骤为: 
(1)扩展MCU若收到来自外部设备的一完整数据帧后,将数据帧存入对应UART端口的数据发送缓冲区;
(2)扩展MCU检测到某个数据发送缓冲区有来自外部设备的待发送的数据帧时,将对应的UART端口标志位和帧长度的信息写入数据帧的帧头,通过SPI将数据发送给主控MCU,主控MCU通过对应的数据缓接收冲区接收该数据帧;
(3)主控MCU将要发送给连接到某一UART端口的外部设备的数据存到数据发送缓冲区,当检测到数据发送缓冲区有完整的数据帧时,则将对应UART标志位及帧长度信息写入数据帧的帧头,通过SPI发送到扩展MCU,扩展MCU通过对应的数据接收缓冲区接收该数据帧;
(4)当扩展MCU检测到数据接收缓冲区有来自主控MCU的数据帧时,将数据帧的端口标志位和帧长度信息删除并将数据帧存入对应的数据发送缓冲区,通过对应的UART将数据帧发送给外部设备。
优选的,所述数据发送缓冲区以及数据接受缓冲区的大小可自定义。 
优选的,每个UART端口的数据缓冲区均设置有用于记录该端口优先级的优先级信道占用标志以及表示该端口数据量的缓冲区数据量信道占用标志,主控MCU通过上述两个信道占用标志采用优先级信道分配和缓冲区数据量信道分配两种方式分配通信的每个端口的对SPI信道的使用。 
进一步的,主控MCU通过时间片分配方式在优先级信道分配和缓冲区数据量信道分配两种信道分配方式之间切换。 
更进一步的,主控MCU与扩展MCU通讯的数据帧设置有用于校验数据帧的校验码;主控MCU与扩展MCU中接收方收到发送方发送的数据帧后根据校验码进行数据校验,若通过数据校验则校验码反馈给发送方,若校验异常则发送错误码给发送方,若发送方发完一帧数据后在设定的时延内没有收到接收方的应答或者收到错误码,则重发该帧数据。 
优选的,数据帧长度为小于或等于30字节。 
综上所述,本发明具有以下有益效果:(1)利用很少的硬件投入实现信道扩展,大大降低了研发成本以及产品的成本。(2)通过软件模拟,实现灵活扩展UART接口;(3)通信十分稳定可靠。 
附图说明
图1为本发明的系统结构示意图; 
图2为本发明主控MCU和扩展MCU间通信用数据帧的结构示意图;
图3 为信道分配方式示意图。
具体实施方式
为了让本领域的技术人员能够更好地了解本发明的技术方案,下面结合附图对本发明作进一步的阐述。 
如图1所示,一种基于嵌入式MCU的信道扩展方法,设置有主控MCU及与其连接的扩展MCU,通过软件在扩展MCU上设置模拟UART端口和实现主控MCU与扩展MCU间的通讯机制,并通过物理UART端口和模拟UART端口与外部设备连接,主控MCU通过SPI和扩展MCU连接。所述模拟UART通过高速IO端口模拟UART时序实现。本实施例中扩展MCU带有三个物理UART端口和三个模拟的UART端口。 
由于SPI与UART数据传输速度不一致,并且6个UART端口的都要通过唯一的SPI接口与主控MCU数据交互,因此,本发明主控MCU和扩展MCU都为与每个UART端口建立对应的数据缓冲区,包括数据发送缓冲区和数据接收缓冲区,并定义对应的UART端口标志位,由此解决由于数据阻塞而引起的数据丢失的问题。同时,为了满足不同的工作状态,各个数据缓冲区的大小均可自定义。 
在进行通信时,其通信的实现步骤为: 
(1)扩展MCU若收到来自外部设备的一完整数据帧后,将数据帧存入对应UART端口的数据发送缓冲区(本实施例的数据缓冲区均使用FIFO机制);(2)扩展MCU检测到某个数据发送缓冲区有来自外部设备的待发送的数据帧时,将对应的UART端口标志位和帧长度的信息写入数据帧的帧头(数据帧的结构如图2所示),通过SPI将数据发送给主控MCU,主控MCU通过对应的数据缓接收冲区接收该数据帧;(3)主控MCU将要发送给连接到某一UART端口的外部设备的数据存到数据发送缓冲区,当检测到数据发送缓冲区有完整的数据帧时,则将对应UART标志位及帧长度信息写入数据帧的帧头,通过SPI发送到扩展MCU,扩展MCU通过对应的数据接收缓冲区接收该数据帧;(4)当扩展MCU检测到数据接收缓冲区有来自主控MCU的数据帧时,将数据帧的端口标志位和帧长度信息删除并将数据帧存入对应的数据发送缓冲区,通过对应的UART将数据帧发送给外部设备。
由于多个UART端口共用一个SPI信道,一般惯用的对比优先级来决定哪个UART端口占用SPI信道的方法也无法很好地解决通信堵塞等问题,由此,本发明的技术方案中,每个UART端口的数据缓冲区均设置有用于记录该端口优先级的优先级信道占用标志以及表示该端口缓冲区数据量的缓冲区数据量信道占用标志,主控MCU通过上述两个信道占用标志采用优先级信道分配和缓冲区数据量信道分配两种方式分配通信的每个端口的对SPI信道的使用。 
优先级信道分配和缓冲区数据量信道分配两种信道分配方式之间切换由主控MCU通过时间片分配方式来确定,如图3所示,在一个时间长度为10的周期中的,前8个时间长度使用优先级信道分配方式,后两个时间长度使用缓冲区数据量信道分配方式。两个不同的信道分配方式,能够有效地避免优先级较低的UART端口的缓冲区溢出的问题。 
    为了进一步确保数据传输的可靠性,主控MCU与扩展MCU通讯的数据帧设置有用于校验数据帧的校验码,本发明采用BCC校验码,如图2所示;主控MCU与扩展MCU中接收方收到发送方发送的数据帧后根据校验码进行数据校验,若通过数据校验则校验码反馈给发送方,若校验异常则发送错误码给发送方,若发送方发完一帧数据后在设定的时延内(如100ms)没有收到接收方的应答或者收到错误码,不能进行下一帧数据的发送,必须重发该帧数据。若重发3次后接收方仍无应答或者返回错误码,则取消数据发送并发出错误警报。 
为了防止超长帧的出现,保证通信质量,限制数据帧长度不能大于30字节。 
本实施例只是本发明的较优实施方式,需要说明的是,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些改变和变形都应属于本发明所附的权利要求的保护范围。 

Claims (8)

1. 一种基于嵌入式MCU的信道扩展方法,设置有主控MCU及与其连接的扩展MCU,通过软件在扩展MCU上设置模拟UART端口和实现主控MCU与扩展MCU间的通讯机制,并通过物理UART端口和模拟UART端口与外部设备连接,其特征在于,主控MCU通过SPI和扩展MCU连接,主控MCU和扩展MCU都为每个UART端口建立对应的数据缓冲区,包括数据发送缓冲区和数据接收缓冲区,并定义对应的UART端口标志位。
2. 根据权利要求1所述的基于嵌入式MCU的信道扩展方法,其特征在于,所述模拟UART通过高速IO端口模拟UART时序实现。
3. 根据权利要求1所述的基于嵌入式MCU的信道扩展方法,其特征在于,其实现步骤为:
(1)扩展MCU若收到来自外部设备的一完整数据帧后,将数据帧存入对应UART端口的数据发送缓冲区;
(2)扩展MCU检测到某个数据发送缓冲区有来自外部设备的待发送的数据帧时,将对应的UART端口标志位和帧长度的信息写入数据帧的帧头,通过SPI将数据发送给主控MCU,主控MCU通过对应的数据缓接收冲区接收该数据帧;
(3)主控MCU将要发送给连接到某一UART端口的外部设备的数据存到数据发送缓冲区,当检测到数据发送缓冲区有完整的数据帧时,则将对应UART标志位及帧长度信息写入数据帧的帧头,通过SPI发送到扩展MCU,扩展MCU通过对应的数据接收缓冲区接收该数据帧;
(4)当扩展MCU检测到数据接收缓冲区有来自主控MCU的数据帧时,将数据帧的端口标志位和帧长度信息删除并将数据帧存入对应的数据发送缓冲区,通过对应的UART将数据帧发送给外部设备。
4. 根据权利要求3所述的基于嵌入式MCU的信道扩展方法,其特征在于,所述数据发送缓冲区以及数据接受缓冲区的大小可自定义。
5. 根据权利要求3所述的基于嵌入式MCU的信道扩展方法,其特征在于,每个UART端口的数据缓冲区均设置有用于记录该端口优先级的优先级信道占用标志以及表示该端口数据量的缓冲区数据量信道占用标志,主控MCU通过上述两个信道占用标志采用优先级信道分配和缓冲区数据量信道分配两种方式分配通信的每个端口的对SPI信道的使用。
6. 根据权利要求5所述的基于嵌入式MCU的信道扩展方法,其特征在于,主控MCU通过时间片分配方式在优先级信道分配和缓冲区数据量信道分配两种信道分配方式之间切换。
7.根据权利要求3所述的基于嵌入式MCU的信道扩展方法,其特征在于,主控MCU与扩展MCU通讯的数据帧设置有用于校验数据帧的校验码;
主控MCU与扩展MCU中接收方收到发送方发送的数据帧后根据校验码进行数据校验,若通过数据校验则校验码反馈给发送方,若校验异常则发送错误码给发送方,若发送方发完一帧数据后在设定的时延内没有收到接收方的应答或者收到错误码,则重发该帧数据。
8. 根据权利要求1、3或7任一项所述的基于嵌入式MCU的信道扩展方法,其特征在于,数据帧长度为小于或等于30字节。
CN201210220294.XA 2012-06-29 2012-06-29 一种基于嵌入式mcu的信道扩展方法 Active CN102750240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210220294.XA CN102750240B (zh) 2012-06-29 2012-06-29 一种基于嵌入式mcu的信道扩展方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210220294.XA CN102750240B (zh) 2012-06-29 2012-06-29 一种基于嵌入式mcu的信道扩展方法

Publications (2)

Publication Number Publication Date
CN102750240A true CN102750240A (zh) 2012-10-24
CN102750240B CN102750240B (zh) 2015-05-27

Family

ID=47030442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210220294.XA Active CN102750240B (zh) 2012-06-29 2012-06-29 一种基于嵌入式mcu的信道扩展方法

Country Status (1)

Country Link
CN (1) CN102750240B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345455A (zh) * 2013-06-28 2013-10-09 深圳市科曼医疗设备有限公司 监护仪及其多mcu内存数据交换装置
CN103546250A (zh) * 2013-09-18 2014-01-29 中标软件有限公司 一种用于车载终端的通信方法及系统
CN106143364A (zh) * 2016-07-22 2016-11-23 北京航空航天大学 一种电动汽车分布式控制器信息安全方法及系统
CN106201929A (zh) * 2016-07-22 2016-12-07 恒宝股份有限公司 一种usb接口复用电路及使用方法
CN109828938A (zh) * 2018-12-13 2019-05-31 山东亚华电子股份有限公司 一种基于芯片的通信方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020091870A (ko) * 2001-06-01 2002-12-11 엘지이노텍 주식회사 다중 채널 회로
CN2645348Y (zh) * 2003-05-29 2004-09-29 成都视普科技有限公司 多路通用异步收发器
CN1735257A (zh) * 2004-08-11 2006-02-15 华为技术有限公司 一种在通信系统中分配资源的方法
CN101083688A (zh) * 2007-06-28 2007-12-05 中兴通讯股份有限公司 通过dsl实现对话机远程控制的装置及方法
CN101267425A (zh) * 2007-03-16 2008-09-17 上海贝电实业股份有限公司 用于动力环境分布式监控系统中的板间接口通讯协议

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020091870A (ko) * 2001-06-01 2002-12-11 엘지이노텍 주식회사 다중 채널 회로
CN2645348Y (zh) * 2003-05-29 2004-09-29 成都视普科技有限公司 多路通用异步收发器
CN1735257A (zh) * 2004-08-11 2006-02-15 华为技术有限公司 一种在通信系统中分配资源的方法
CN101267425A (zh) * 2007-03-16 2008-09-17 上海贝电实业股份有限公司 用于动力环境分布式监控系统中的板间接口通讯协议
CN101083688A (zh) * 2007-06-28 2007-12-05 中兴通讯股份有限公司 通过dsl实现对话机远程控制的装置及方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345455A (zh) * 2013-06-28 2013-10-09 深圳市科曼医疗设备有限公司 监护仪及其多mcu内存数据交换装置
WO2014206181A1 (zh) * 2013-06-28 2014-12-31 深圳市科曼医疗设备有限公司 监护仪及其多mcu内存数据交换装置
CN103345455B (zh) * 2013-06-28 2016-03-30 深圳市科曼医疗设备有限公司 监护仪及其多mcu内存数据交换装置
CN103546250A (zh) * 2013-09-18 2014-01-29 中标软件有限公司 一种用于车载终端的通信方法及系统
CN106143364A (zh) * 2016-07-22 2016-11-23 北京航空航天大学 一种电动汽车分布式控制器信息安全方法及系统
CN106201929A (zh) * 2016-07-22 2016-12-07 恒宝股份有限公司 一种usb接口复用电路及使用方法
CN106143364B (zh) * 2016-07-22 2019-06-11 北京航空航天大学 一种电动汽车分布式控制器信息安全方法及系统
CN109828938A (zh) * 2018-12-13 2019-05-31 山东亚华电子股份有限公司 一种基于芯片的通信方法和装置

Also Published As

Publication number Publication date
CN102750240B (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
CN102750240A (zh) 一种基于嵌入式mcu的信道扩展方法
CN102629240B (zh) 一种串口通信方法与装置
CN104620564B (zh) 用于经由利用数据隧道的接口的多协议数据元素的传输的装置和方法
CN101067804B (zh) 一种高速可配置扩展spi总线及其工作方法
CN101198942B (zh) 带有可变链路宽度的芯片和系统
CN102012876B (zh) 大位宽数据的写入、读取方法及控制器
CN104915303A (zh) 基于PXIe总线的高速数字I/O系统
CN102073611B (zh) 一种i2c总线控制系统及方法
CN102981982A (zh) 用于音频接口的零延迟从模式传输
CN105786752A (zh) 一种计算设备与fpga间的usb通信方法和通信系统
CN103596152A (zh) 一种短信延时发送系统及方法
CN1326057C (zh) 用于与总线连接的总线系统和总线接口
CN110083468A (zh) 一种数据传输方法、电子装置和存储介质
CN101609412B (zh) 车载信息娱乐系统模拟装置
US20160203788A1 (en) System and method for multi-computer control
CN107066419B (zh) 可扩展的自适应n×n通道数据通信系统
CN103988191B (zh) 边带初始化
CN202481100U (zh) 轨道交通指挥调度系统
CN102170401B (zh) 一种数据的处理方法和设备
CN104598404A (zh) 计算设备扩展方法和装置、以及可扩展的计算系统
CN104424141A (zh) 用于io和入站av的拓扑和带宽管理
CN103488597A (zh) 一种先进先出缓存器及其读写数据的方法
CN102207841B (zh) 一种通用数据传输系统
CN101989250A (zh) 一种串行通信的方法和系统
CN201226150Y (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
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 516006 Guangdong province Huizhou Zhongkai hi tech Industrial Development Zone Pearl River Road No. 1

Patentee after: HUIZHOU DESAY SV AUTOMOTIVE CO., LTD.

Address before: 516006 Guangdong province Huizhou Zhongkai hi tech Industrial Development Zone Pearl River Road No. 1

Patentee before: Huizhou Desay SV Auto. Electronics Co., Ltd.