基于MSP430單片機(jī)的Profibus-DP通信接口的開(kāi)發(fā)
考慮到Profibus對(duì)速率的要求本文選用高速率,低功耗的16位MSP430單片機(jī),采用Intel工作方式。CPU與SPC3接口電路如圖3所示。對(duì)于MSP430單片機(jī)而言,SPC3相當(dāng)于它擴(kuò)張的一個(gè)外部RAM。單片機(jī)可以通過(guò)訪問(wèn)外部RAM的方法訪問(wèn)SPC3的寄存器。RS 485驅(qū)動(dòng)器的一端與SPC3相連,另一端通過(guò)9針D型插頭與總線相連。RS 485驅(qū)動(dòng)器選擇SN75SLS176來(lái)滿足高速的數(shù)據(jù)通信。
本文引用地址:http://cafeforensic.com/article/173254.htm軟件設(shè)計(jì)是開(kāi)發(fā)Profibus-DP通信接口的一個(gè)重要環(huán)節(jié)。由于SPC3集成了完整的DP協(xié)議,因此在進(jìn)行通信時(shí),MSP430單片機(jī)不用參與處理DP狀態(tài)機(jī)。主要任務(wù)是根據(jù)SPC3產(chǎn)生的中斷,對(duì)SPC3接收到數(shù)據(jù)轉(zhuǎn)存,組織要通過(guò)SPC3發(fā)給的數(shù)據(jù),并根據(jù)要求組織外部診斷。
主程序流程圖如圖4所示,在SPC3正常工作之前,需要進(jìn)行初始化,以配置需要的寄存器,包括設(shè)置協(xié)議芯片的中斷允許,寫(xiě)入從站識(shí)別號(hào)和地址,設(shè)置SPC3方式寄存器,設(shè)置診斷緩沖區(qū),配置緩沖區(qū),地址緩沖區(qū),初始化長(zhǎng)度,并根據(jù)以上初始值得出各個(gè)緩沖區(qū)的指針和輔助緩沖區(qū)的指針。根據(jù)確定輸出緩沖區(qū)、輸入緩沖區(qū)及指針,初始化流程圖如圖5所示,初始化包括:SPC3硬件復(fù)位、硬件模式、設(shè)置SPC3中斷屏蔽寄存器、SPC3內(nèi)部看門(mén)狗、設(shè)備標(biāo)識(shí)號(hào)、緩沖區(qū)初始化。
中斷程序流程圖如圖6所示,在Profibus-DP中最主要處理以下的中斷事件:新的參數(shù)報(bào)文事件,全局控制命令報(bào)文事件,進(jìn)入或退出數(shù)據(jù)交換狀態(tài)事件,新的配置報(bào)文事件,新的地址設(shè)置報(bào)文事件,檢測(cè)到波特率事件,看門(mén)狗事件。
4 結(jié)語(yǔ)
選用的MSP430單片機(jī)具有高速率、低功耗的特點(diǎn),SPC3芯片則集成了Profibus-DP全部協(xié)議內(nèi)容,整系統(tǒng)功能相對(duì)完善,使用方法簡(jiǎn)單。本方案用于Profibus-DP通信接口的開(kāi)發(fā),可以減少開(kāi)發(fā)周期,實(shí)現(xiàn)開(kāi)發(fā)的簡(jiǎn)化。
評(píng)論