CN105468554A - 一种实现极性自适应的模拟uart的方法 - Google Patents
一种实现极性自适应的模拟uart的方法 Download PDFInfo
- Publication number
- CN105468554A CN105468554A CN201510839635.5A CN201510839635A CN105468554A CN 105468554 A CN105468554 A CN 105468554A CN 201510839635 A CN201510839635 A CN 201510839635A CN 105468554 A CN105468554 A CN 105468554A
- Authority
- CN
- China
- Prior art keywords
- timer
- data
- polarity
- reception
- uart
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C19/00—Electric signal transmission systems
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明公开了一种实现极性自适应的模拟UART的方法,通过利用一个定时器、多个IO边沿中断,实现多路模拟UART功能,分别按正负逻辑进行数据接收,也可根据需求按正逻辑或负逻辑进行接收,接收到数据的后续处理,可以按照数据帧的特点和系统的特点进行设计,后续的设计可根据不同的需求和资源,灵活掌握。
Description
技术领域
本发明涉及通讯领域,具体涉及一种实现极性自适应的模拟UART的方法。
背景技术
随着我国市场经济改革日趋成熟和电力行业体制改革的不断深化,电力市场引入竞争机制,电网内部管理也逐渐走向商业化市场,而商业化运行的核心就是供电和购电双方以电力交换点的电能量作为计量结算依据,原来人工抄表和统计结算的抄表方式显然不能适应市场商业化运营的需要,因此,必须建立以自动化为基础的电能量计量自动化系统,以提高电能量的采集、传输、处理的精确性、可靠性和及时性。
电能量采集系统由系统主站、数据通道、厂站设备三部分组成,实现了对电网和电能表实时数据采集和监测,独立完成分时计费、电能量统计、电能量平衡、电能量管理以及电力营业考核自动化等功能;并具有远程维护、授权Internet用户远程查询等远程管理功能;并且通过与MIS、SCADA、DMS、EMS等系统实现数据交换与共享,为其他子系统提供了准确、完整的信息数据。
电能表随着微电子技术的进步有许多的通讯方式应用其中,其中最常规的应该属于485的通讯,485通讯以其结构简单,通信速率高、传输距离远等诸多优点在工业控制系统中得到了广泛的应用,但是485通讯时是有极性连接的,根据RS485通讯传输线容易接反的特点,为了使工程施工和使用方便,实现了无极性的S485通讯,为了满足这一需求,许多厂家采用了硬件的无极性485芯片,但是在网络环境受到干扰的情况下,无极性485芯片会产生错误,导致不停地切换485的通讯极性,使得通讯成功率低下,有的厂家则采用软件算法,但是对系统的资源要求比较多,严重的影响整个系统的运行效率。
发明内容
本发明的目的是为了提供能保证在有干扰的网络环境中通讯时485芯片不会错误、不停地切换的一种实现极性自适应的模拟UART的方法。
本发明通过以下技术方案实现:一种实现极性自适应的模拟UART的方法,步骤如下:
步骤a)将电能表上电初始化,配置一个定时器,并将接收引脚配置为双边沿外部中断输入,发送引脚配置为普通输出;
步骤b)检测电能表的中断信号,一旦检测到中断信号就开启定时器,关闭外部中断,进入定时中断,并根据波特率定定时器间隔;
步骤c)进入定时中断后,读取接收引脚的电平;若为低电平则为负极性,若为高电平则为正极性,并确定定时器的间隔为位周期T0;
步骤d)继续在定时器中断中读取接收引脚的电平,如为负极性则对接收的每位数据进行取反处理;
步骤e)根据字节的奇偶校验位,对接收的字节进行合法性判断,直到数据全部接收完毕,进行数据帧的合法性校验;
步骤f)若电能表在处理完接收数据后需要应答,则在间隔为T0的定时器中断中,将数据逐位在发送引脚上发送出去,若为负极性,则需要先将数据按位取反后再发送;
步骤g)数据全部发送完毕后,关闭定时器,再将接收引脚配置成双边沿外部中断输入,进入接收模式,回到步骤b。
作为优选,所述步骤a中的定时器为微妙级定时器。
作为优选,接收模式可按照正负逻辑进行数据接收也可按照正逻辑或负逻辑进行接收。
作为优选,接收的数据开始可按双极性接收,当接收到特定字符时,可关闭掉另外一个极性的接收。
本发明通过利用一个定时器、多个IO边沿中断,实现多路模拟UART功能,分别按正负逻辑进行数据接收,也可根据需求按正逻辑或负逻辑进行接收,接收到数据的后续处理,可以按照数据帧的特点和系统的特点进行设计,后续的设计可根据不同的需求和资源,灵活掌握,提供了多种可能。
本发明的有益之处在于:1)利用一个定时器和多个IO边沿中断,高效实现多路模拟UART功能,使得效率更高;2)利用定时器捕获边沿变化,数据分别按正负逻辑进行数据接收,也可根据需求按正逻辑或负逻辑进行接收,接收到数据的后续可按照数据帧的特点和系统的特点处理,保证极性能自动适应,不会在干扰的情况下错误的切换。
具体实施方式
下面结合具体实施方式,对本发明作进一步描述。
本实施方式中,一种实现极性自适应的模拟UART的方法,步骤如下:
步骤a)将电能表上电初始化,配置一个定时器,并将接收引脚配置为双边沿外部中断输入,发送引脚配置为普通输出;
步骤b)检测电能表的中断信号,一旦检测到中断信号就开启定时器,关闭外部中断,进入定时中断,并根据波特率定定时器间隔;
步骤c)进入定时中断后,读取接收引脚的电平;若为低电平则为负极性,若为高电平则为正极性,并确定定时器的间隔为位周期T0;
步骤d)继续在定时器中断中读取接收引脚的电平,如为负极性则对接收的每位数据进行取反处理;
步骤e)根据字节的奇偶校验位,对接收的字节进行合法性判断,直到数据全部接收完毕,进行数据帧的合法性校验;
步骤f)若电能表在处理完接收数据后需要应答,则在间隔为T0的定时器中断中,将数据逐位在发送引脚上发送出去,若为负极性,则需要先将数据按位取反后再发送;
步骤g)数据全部发送完毕后,关闭定时器,再将接收引脚配置成双边沿外部中断输入,进入接收模式,回到步骤b。
本实施方式中,所述步骤a中的定时器为微妙级定时器。
本实施方式中,接收模式可按照正负逻辑进行数据接收也可按照正逻辑或负逻辑进行接收。
本实施方式中,接收的数据开始可按双极性接收,当接收到特定字符时,可关闭掉另外一个极性的接收。
本实施方式中,模拟UART首先开启一个定时器,定时器的步进根据波特率的最小周期确定,小于最小周期的1/20即可;接收时,将输入信号设置成双边沿触发,捕获定时器的值并放入一个缓冲区中,如果MCU具有DMA功能,可以使用DMA加边沿捕获功能来实现,后续分析缓冲区中的定时器的值,得出每个电平的宽度,从而分析出通讯的数据内容;发送时,根据起始位、数据内容、奇偶校验位、停止位等,确定每个电平的发送持续时间,根据定时器的比较翻转电平模式,进行比较IO输出。
本实施方式中,采用模拟UART的方式,可同时分别按正负逻辑进行数据接收,也可根据需求按正逻辑或负逻辑进行接收,接收到数据的后续处理,可以按照数据帧的特点和系统的特点进行设计;例如一帧数据的开始按双极性接收,当接收到特定字符时,可以关闭掉另外一个极性的接收,后续的设计可根据不同的需求和资源,灵活掌握,提供了多种可能。
本实施方式中,利用一个定时器、多个IO边沿中断,高效率地实现多路模拟UART功能,如果配合处理器的DMA功能,效率更高,对UART资源较少的芯片,有绝对的优势。
本实施方式中,定时器间隔根据波特率而定,是位周期的一半,比如波特率是B,那么位周期是T0=1/B,定时间隔为T0/2=1/2B。
本发明的保护范围包括但不限于以上实施方式,本发明的保护范围以权利要求书为准,任何对本技术做出的本领域的技术人员容易想到的替换、变形、改进均落入本发明的保护范围。
Claims (4)
1.一种实现极性自适应的模拟UART的方法,其特征在于,步骤如下:
步骤a)将电能表上电初始化,配置一个定时器,并将接收引脚配置为双边沿外部中断输入,发送引脚配置为普通输出;
步骤b)检测电能表的中断信号,一旦检测到中断信号就开启定时器,关闭外部中断,进入定时中断,并根据波特率定定时器间隔;
步骤c)进入定时中断后,读取接收引脚的电平;若为低电平则为负极性,若为高电平则为正极性,并确定定时器的间隔为位周期T0;
步骤d)继续在定时器中断中读取接收引脚的电平,如为负极性则对接收的每位数据进行取反处理;
步骤e)根据字节的奇偶校验位,对接收的字节进行合法性判断,直到数据全部接收完毕,进行数据帧的合法性校验;
步骤f)若电能表在处理完接收数据后需要应答,则在间隔为T0的定时器中断中,将数据逐位在发送引脚上发送出去,若为负极性,则需要先将数据按位取反后再发送;
步骤g)数据全部发送完毕后,关闭定时器,再将接收引脚配置成双边沿外部中断输入,进入接收模式,回到步骤b。
2.根据权利要求1所述的一种实现极性自适应的模拟UART的方法,其特征在于:所述步骤a中的定时器为微妙级定时器。
3.根据权利要求1所述的一种实现极性自适应的模拟UART的方法,其特征在于:接收模式可按照正负逻辑进行数据接收也可按照正逻辑或负逻辑进行接收。
4.根据权利要求1所述的一种实现极性自适应的模拟UART的方法,其特征在于:接收的数据开始可按双极性接收,当接收到特定字符时,可关闭掉另外一个极性的接收。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510839635.5A CN105468554A (zh) | 2015-11-27 | 2015-11-27 | 一种实现极性自适应的模拟uart的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510839635.5A CN105468554A (zh) | 2015-11-27 | 2015-11-27 | 一种实现极性自适应的模拟uart的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105468554A true CN105468554A (zh) | 2016-04-06 |
Family
ID=55606275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510839635.5A Pending CN105468554A (zh) | 2015-11-27 | 2015-11-27 | 一种实现极性自适应的模拟uart的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468554A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018218949A1 (zh) * | 2017-05-31 | 2018-12-06 | 无锡华润矽科微电子有限公司 | 无极性rs485实现极性翻转的电路 |
CN114064533A (zh) * | 2020-07-29 | 2022-02-18 | 鸣志电器(太仓)有限公司 | 一种rs-485信号极性的识别方法 |
CN117171072A (zh) * | 2023-11-03 | 2023-12-05 | 深圳联芯微电子科技有限公司 | 微控制单元单向通讯方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950268A (zh) * | 2010-05-04 | 2011-01-19 | 工业和信息化部电子第五研究所 | 一种控制器时钟频率的实时监测方案 |
KR20110069534A (ko) * | 2009-12-17 | 2011-06-23 | 주식회사 효성 | 2개의 신호를 이용한 통신 인터페이스 장치 |
CN102521183A (zh) * | 2011-12-02 | 2012-06-27 | 深圳市科陆电子科技股份有限公司 | 用于嵌入式系统的模拟串口方法 |
CN202976445U (zh) * | 2012-10-19 | 2013-06-05 | 深圳市中电电力技术股份有限公司 | 一种超低功率损耗的计数器总线数据采集器 |
CN203054078U (zh) * | 2012-11-30 | 2013-07-10 | 珠海中慧微电子有限公司 | 适用于电能表的无极性485通讯电路 |
CN104699651A (zh) * | 2014-12-30 | 2015-06-10 | 华立仪表集团股份有限公司 | 一种表用rs485收发数据的方法 |
-
2015
- 2015-11-27 CN CN201510839635.5A patent/CN105468554A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110069534A (ko) * | 2009-12-17 | 2011-06-23 | 주식회사 효성 | 2개의 신호를 이용한 통신 인터페이스 장치 |
CN101950268A (zh) * | 2010-05-04 | 2011-01-19 | 工业和信息化部电子第五研究所 | 一种控制器时钟频率的实时监测方案 |
CN102521183A (zh) * | 2011-12-02 | 2012-06-27 | 深圳市科陆电子科技股份有限公司 | 用于嵌入式系统的模拟串口方法 |
CN202976445U (zh) * | 2012-10-19 | 2013-06-05 | 深圳市中电电力技术股份有限公司 | 一种超低功率损耗的计数器总线数据采集器 |
CN203054078U (zh) * | 2012-11-30 | 2013-07-10 | 珠海中慧微电子有限公司 | 适用于电能表的无极性485通讯电路 |
CN104699651A (zh) * | 2014-12-30 | 2015-06-10 | 华立仪表集团股份有限公司 | 一种表用rs485收发数据的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018218949A1 (zh) * | 2017-05-31 | 2018-12-06 | 无锡华润矽科微电子有限公司 | 无极性rs485实现极性翻转的电路 |
CN114064533A (zh) * | 2020-07-29 | 2022-02-18 | 鸣志电器(太仓)有限公司 | 一种rs-485信号极性的识别方法 |
CN114064533B (zh) * | 2020-07-29 | 2024-04-12 | 鸣志电器(太仓)有限公司 | 一种rs-485信号极性的识别方法 |
CN117171072A (zh) * | 2023-11-03 | 2023-12-05 | 深圳联芯微电子科技有限公司 | 微控制单元单向通讯方法及系统 |
CN117171072B (zh) * | 2023-11-03 | 2024-02-23 | 深圳联芯微电子科技有限公司 | 微控制单元单向通讯方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN204270025U (zh) | 具有irig-b对时功能的时钟系统 | |
CN109272733B (zh) | 一种支持多表合抄的多端多模物联网通讯终端及其抄表方法 | |
CN101738931B (zh) | 一种irig-b码的对时装置及其对时方法 | |
CN105468554A (zh) | 一种实现极性自适应的模拟uart的方法 | |
CN102693567A (zh) | 基于门禁系统通信的编解码方法 | |
CN104218675A (zh) | 一种配电网络实时在线监测系统 | |
CN101635446B (zh) | 基于波形拟合和二次采样的采样数据处理方法 | |
CN107748509A (zh) | 基于单片机收发控制的asi通信从机实施方法 | |
CN104599481A (zh) | 一种基于光纤网络高速抄表系统及方法 | |
CN203910000U (zh) | 基于手机蓝牙的集中器抄表现场通信故障分析系统 | |
CN103024023A (zh) | 电子阅览室网络审计方法 | |
CN105977925B (zh) | 一种自适应有主机和无主机模式的母线保护实现方法 | |
CN105512068A (zh) | 一种实现波特率自适应的模拟uart的方法 | |
CN104517082B (zh) | 电力数据采集装置和方法 | |
CN105307202A (zh) | 一种配电自动化无线通信可用性评估方法 | |
CN105006890A (zh) | 一种智能变电站设备程序管控系统 | |
CN102005115A (zh) | 一种红外抄表方法 | |
CN202872773U (zh) | 基于三网合一的网管应答器 | |
CN106533975A (zh) | 一种基于千兆网络的采样值帧解码实现方法 | |
CN105743585A (zh) | 一种光irig-b及ft3码的智能探测接收方法和装置 | |
CN203827377U (zh) | 可根据报文类型自动调整发送策略的多网口fpga网卡 | |
CN105527918B (zh) | 一种通过i/o端口实现两plc之间单向单线通信的方法 | |
CN206442390U (zh) | 一种网络交换机的数据网络测试平台 | |
CN103701216B (zh) | 一种能源和电力监控系统检测设备 | |
CN105513308A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160406 |