[發(fā)明專利]用DSP實(shí)現(xiàn)MODBUS異步串行通信協(xié)議的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201310675197.4 | 申請(qǐng)日: | 2013-12-11 |
| 公開(公告)號(hào): | CN103645714A | 公開(公告)日: | 2014-03-19 |
| 發(fā)明(設(shè)計(jì))人: | 石方舟;閔澤生;陳建國(guó);蔣馳雷;王敏;張?zhí)鹛?/a>;熊向杰;傅煒娜 | 申請(qǐng)(專利權(quán))人: | 東方電氣集團(tuán)東方汽輪機(jī)有限公司;四川東方電氣自動(dòng)控制工程有限公司 |
| 主分類號(hào): | G05B19/418 | 分類號(hào): | G05B19/418 |
| 代理公司: | 成都蓉信三星專利事務(wù)所(普通合伙) 51106 | 代理人: | 劉克勤;段雪茵 |
| 地址: | 618000 四川省德陽(yáng)*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | dsp 實(shí)現(xiàn) modbus 異步 串行 通信協(xié)議 方法 | ||
1.一種用DSP實(shí)現(xiàn)MODBUS異步串行通信協(xié)議的方法,包括:
-通信數(shù)據(jù)收發(fā)方法
報(bào)文采用RTU幀格式,8個(gè)數(shù)據(jù)位,2個(gè)停止位,無(wú)奇偶校驗(yàn)位;波特率設(shè)置為115200bps;DSP接收?qǐng)?bào)文采用SCI中斷方式,使能FIFO及其中斷函數(shù),中斷等級(jí)設(shè)置為1,即每一個(gè)數(shù)據(jù)觸發(fā)接收中斷函數(shù),保證接收數(shù)據(jù)可靠;發(fā)送報(bào)文采用查詢方式,在CPU有空閑時(shí)完成發(fā)送;CPU定時(shí)器0用于主程序運(yùn)行,采用中斷優(yōu)先級(jí)較低的CPU定時(shí)器1通過其定時(shí)中斷函數(shù)完成計(jì)時(shí)功能;
-報(bào)文解析方法
設(shè)計(jì)報(bào)文解析函數(shù),對(duì)標(biāo)準(zhǔn)MODBUS協(xié)議的各種不同功能碼的報(bào)文進(jìn)行解析,解析函數(shù)放在主循環(huán)程序中,利用主程序空閑時(shí)間進(jìn)行解析;每個(gè)正常報(bào)文解析之后,發(fā)送相應(yīng)的響應(yīng)報(bào)文,響應(yīng)報(bào)文放入發(fā)送緩沖區(qū),等待系統(tǒng)空閑時(shí)發(fā)送回主站;每個(gè)報(bào)文最后以2個(gè)字節(jié)的CRC結(jié)束,該CRC通過對(duì)整個(gè)報(bào)文進(jìn)行循環(huán)冗長(zhǎng)檢測(cè)方法得出,報(bào)文接收方以此作為判據(jù)來(lái)判斷接收?qǐng)?bào)文是否正確;所述CRC碼先傳輸?shù)妥止?jié),再傳輸高字節(jié)。
2.如權(quán)利要求1所述的用DSP實(shí)現(xiàn)MODBUS異步串行通信協(xié)議的方法,其特征在于,所述通信數(shù)據(jù)收發(fā)方法的步驟是:將整個(gè)串行通信功能劃分為空閑態(tài)、接收態(tài)、控制等待態(tài)、接收結(jié)束態(tài)、發(fā)送態(tài)、發(fā)送結(jié)束態(tài);當(dāng)系統(tǒng)初始化后,串行功能處于空閑狀態(tài),此時(shí)可以接收也可以發(fā)送;在空閑態(tài)進(jìn)入了接收數(shù)據(jù)中斷程序,則標(biāo)志著一個(gè)新的報(bào)文幀的開始,狀態(tài)轉(zhuǎn)換為接收態(tài);在接收狀態(tài)如果出現(xiàn)了t1.5超時(shí)狀態(tài),則進(jìn)入控制等待態(tài);在控制等待態(tài)進(jìn)行CRC校驗(yàn)及子節(jié)點(diǎn)地址檢測(cè),如有誤,則標(biāo)記為幀錯(cuò)誤,如正確,則繼續(xù)等待;等待到出現(xiàn)t3.5超時(shí)事件,轉(zhuǎn)換為接收結(jié)束態(tài),此時(shí)如果幀正確,則進(jìn)行幀解析步驟,如果出現(xiàn)幀錯(cuò)誤,則拋棄;之后進(jìn)入空閑態(tài),一個(gè)完整的接收流程完成;在空閑態(tài)時(shí),如果發(fā)送報(bào)文緩沖區(qū)達(dá)到了發(fā)送條件,并且此時(shí)系統(tǒng)處于空閑周期,則進(jìn)入發(fā)送狀態(tài);發(fā)送采用查詢方式,在控制周期空閑時(shí)間完成,發(fā)送完畢后,又進(jìn)入空閑態(tài),發(fā)送流程完成。
3.如權(quán)利要求1所述的用DSP實(shí)現(xiàn)MODBUS異步串行通信協(xié)議的方法,其特征在于,所述接收中斷函數(shù)根據(jù)當(dāng)前所處的狀態(tài)來(lái)進(jìn)行相應(yīng)的操作,如果是空閑態(tài),則標(biāo)志著新的報(bào)文的開始,切換至接收狀態(tài);如果是接收態(tài),則繼續(xù)接收;如果是控制等待態(tài),則說(shuō)明此時(shí)已不滿足t1.5的要求,此時(shí)則要標(biāo)記幀為錯(cuò)誤狀態(tài);其他狀態(tài)不做處理;接收過程中,每接收完一個(gè)字符,首先清除當(dāng)前的字符間隔時(shí)間,再啟動(dòng)定時(shí)器1,以完成字符間隔時(shí)間的檢測(cè)。
4.如權(quán)利要求1所述的用DSP實(shí)現(xiàn)MODBUS異步串行通信協(xié)議的方法,其特征在于,所述定時(shí)中斷函數(shù)完成字符傳遞計(jì)時(shí)以及相應(yīng)狀態(tài)之間的轉(zhuǎn)換;如果出現(xiàn)了t1.5事件,且是處于接收態(tài)時(shí),則進(jìn)入控制等待態(tài);如果是發(fā)送狀態(tài)出現(xiàn)的t1.5事件,則不做處理;如果接著又出現(xiàn)了t3.5事件且是控制等待態(tài),則此時(shí)表示1個(gè)報(bào)文接收結(jié)束,進(jìn)入接收結(jié)束態(tài);如果出現(xiàn)了t3.5事件且是發(fā)送態(tài),則表示1個(gè)報(bào)文發(fā)送結(jié)束,進(jìn)入發(fā)送結(jié)束態(tài)。
5.如權(quán)利要求1所述的用DSP實(shí)現(xiàn)MODBUS異步串行通信協(xié)議的方法,其特征在于,所述報(bào)文解析分為兩個(gè)狀態(tài):1、控制等待態(tài),如果是在控制等待態(tài),則此時(shí)進(jìn)行CRC校驗(yàn)和子節(jié)點(diǎn)地址檢驗(yàn),其中任何一個(gè)出錯(cuò),都標(biāo)記為幀錯(cuò)誤,此時(shí)不會(huì)向主站返回任何信息;2、接收結(jié)束態(tài),此時(shí)首先應(yīng)停止定時(shí)器1,這樣可以節(jié)約不必要的中斷開銷;接著就按照不同的功能碼進(jìn)入相應(yīng)的報(bào)文解析程序即可,進(jìn)入此程序的報(bào)文解析程序不論報(bào)文對(duì)錯(cuò),都有相應(yīng)的響應(yīng)信息返回給主站,此相應(yīng)信息是填充在發(fā)送緩沖區(qū)內(nèi)的,一旦完成報(bào)文解析,則相應(yīng)標(biāo)志位置位,此時(shí)則可以發(fā)送數(shù)據(jù)。
6.如權(quán)利要求1所述的用DSP實(shí)現(xiàn)MODBUS異步串行通信協(xié)議的方法,其特征在于,所述報(bào)文發(fā)送有三個(gè)狀態(tài):1、空閑態(tài),如果在空閑態(tài),并且發(fā)送緩沖區(qū)填充滿標(biāo)志已置位,則進(jìn)入到發(fā)送態(tài);2、發(fā)送態(tài),此時(shí)首先會(huì)計(jì)算出整個(gè)報(bào)文的CRC碼,并填充在報(bào)文末尾最后兩字節(jié),然后進(jìn)入報(bào)文發(fā)送階段,發(fā)送完畢后,需要開啟定時(shí)器1以進(jìn)入t3.5定時(shí)階段;3、發(fā)送結(jié)束態(tài),此狀態(tài)表示t3.5字符時(shí)間已添加在報(bào)文末尾,標(biāo)志著完整的一個(gè)報(bào)文已發(fā)送完畢,此時(shí)關(guān)閉定時(shí)器1,并重新進(jìn)入到空閑態(tài),為以后的操作做好準(zhǔn)備。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于東方電氣集團(tuán)東方汽輪機(jī)有限公司;四川東方電氣自動(dòng)控制工程有限公司,未經(jīng)東方電氣集團(tuán)東方汽輪機(jī)有限公司;四川東方電氣自動(dòng)控制工程有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310675197.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 一種基于MODBUS遠(yuǎn)程智能通訊系統(tǒng)
- 一種串行Modbus擴(kuò)展通信的方法
- Modbus Hub協(xié)議轉(zhuǎn)換網(wǎng)關(guān)軟件
- 一種4路Modbus_RTU協(xié)議轉(zhuǎn)換器
- 一種Modbus RTU總線地址自動(dòng)分配方法
- 基于modbus通訊協(xié)議的通訊方法
- 基于MODBUS協(xié)議的從站轉(zhuǎn)換裝置及其控制方法
- 一種虛擬Modbus ID生成方法、裝置和網(wǎng)關(guān)
- 一種基于MODBUS協(xié)議的從站轉(zhuǎn)換裝置
- 一種modbus設(shè)備自動(dòng)注冊(cè)與管理的系統(tǒng)、方法和裝置





