超聲波流量計(jì)常用的四種編程程序
1、CAN總線系統(tǒng)的組成
控制系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)一般分為三個(gè)層次:第一層網(wǎng)絡(luò)為中央控制層;第二層網(wǎng)絡(luò)為子系統(tǒng)管理層;第三層網(wǎng)絡(luò)為現(xiàn)場(chǎng)設(shè)備控制層。
CAN總線技術(shù)主要應(yīng)用在第三層上,它作為控制局域網(wǎng)實(shí)現(xiàn)分布式的智能化控制。對(duì)現(xiàn)場(chǎng)設(shè)備的監(jiān)控和管理以及第二層網(wǎng)絡(luò)與第三層網(wǎng)絡(luò)之間的通信通常是由工業(yè)控制機(jī)來(lái)實(shí)現(xiàn)的(圖1)
CAN 現(xiàn)場(chǎng)設(shè)備處于網(wǎng)絡(luò)結(jié)構(gòu)的底層,接受工控機(jī)的管理并實(shí)現(xiàn)對(duì)子過(guò)程和對(duì)象的監(jiān)控。
2、具有在線編程技術(shù)的CAN現(xiàn)場(chǎng)設(shè)備的電路設(shè)計(jì)
在具體設(shè)計(jì)中,與CAN 技術(shù)規(guī)范相關(guān)的電路采用了Phips公司的高性能CAN總線收發(fā)器82C250。CAN總線控制器采用的是Phips公司的P87C592。P87C592具有與51系列兼容的微處理器,同時(shí)也具備了CAN總線控制的功能,它的使用可以簡(jiǎn)化電路的設(shè)計(jì)。
采用了P87C592的具有在線編程功能的CAN現(xiàn)場(chǎng)設(shè)備相關(guān)電路如圖2所示。電路中具備了CAN總線控制器功能的CPU的引腳P3.5、WR、RD和PSEN通過(guò)74HC00、74HC08和74HC32組成了對(duì)程序存儲(chǔ)器工作狀態(tài)進(jìn)行控制的電路,程序存儲(chǔ)器采用了SST公司的Flash存儲(chǔ)器39SF512。39SF512具有單一5V編程電壓的特點(diǎn),其容量為64k Byte,按照單片機(jī)系統(tǒng)的慣例與P87C592相連接。
以這種方式設(shè)計(jì)的具有在線編程功能的系統(tǒng)工作于兩種狀態(tài):第一種狀態(tài)是引導(dǎo)、下載和在線編程工作狀態(tài);第二種狀態(tài)是用戶程序工作狀態(tài)。這兩種狀態(tài)的區(qū)分是通過(guò)CPU對(duì)其引腳P 的置位來(lái)完成的。為高電平時(shí),系統(tǒng)工作于引導(dǎo)、下載和在線編程工作狀態(tài),這和CPU在復(fù)位后 的狀態(tài)相吻合。這時(shí)的單片機(jī)系統(tǒng)將Flash存儲(chǔ)器39SF512作為數(shù)據(jù)存儲(chǔ)器來(lái)操作,在執(zhí)行了MOVX@DPTR,A指令后,P87C592的WR信號(hào)可以通過(guò)門電路作用于存儲(chǔ)器39SF512的寫(xiě)控制引腳,完成對(duì)存儲(chǔ)器39SF512的在線編程,P 為低電平時(shí),系統(tǒng)工作于用戶程序工作狀態(tài),P87C592在完成了對(duì)系統(tǒng)的初始化后,執(zhí)行CLR 和LJMP 4000H兩條指令,便將系統(tǒng)引導(dǎo)到用戶程序的工作狀態(tài)。
3、在線編程功能的軟件編程
在CAN現(xiàn)場(chǎng)設(shè)備中實(shí)現(xiàn)在線編程功能時(shí),對(duì)程序在存儲(chǔ)器中的安排有著嚴(yán)重的要求:P87C592單片機(jī)內(nèi)部程序存儲(chǔ)器放置的是引導(dǎo)程序,其中包括最基本的通信程序和寫(xiě)Flash的程序,它的任務(wù)就是完成通過(guò)系統(tǒng)上的I/O口獲得需要更新?lián)Q代的程序數(shù)據(jù),并將其寫(xiě)入Flash。這部分程序的長(zhǎng)度不能超過(guò)16k Byte。39SF512存儲(chǔ)器中放置的是用戶程序(即在需要時(shí)可以改寫(xiě)的程序,共64-16=48kByte)。具有在線編程功能的CAN 現(xiàn)場(chǎng)設(shè)備中的系統(tǒng)程序在編時(shí)寫(xiě)要分成兩個(gè)主體:第一個(gè)是下載、Flash編程和引導(dǎo)程序主體;第二個(gè)是用戶程序主體。它們的子程序不能互相調(diào)用,這樣用戶程序在升級(jí)時(shí)就不用考慮兩個(gè)程序主體之間的關(guān)系了。在通用單片機(jī)系統(tǒng)上實(shí)現(xiàn)在線編程功能的程序框圖如圖3所示。
4、CAN 總線技術(shù)和在線編程技術(shù)
CAN(controller area network)是一種具有ISO標(biāo)準(zhǔn)的先進(jìn)串行通信協(xié)議,最初是由德國(guó)Bosch公司為解決現(xiàn)代汽車中眾多的測(cè)試儀器和控制器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行通信總線,1993年成為國(guó)際標(biāo)準(zhǔn)(ISO11898:道路車輛的高速控制器局域網(wǎng)數(shù)字信息交換標(biāo)準(zhǔn))。由于它的技術(shù)性能優(yōu)異,被認(rèn)為是最有前途的現(xiàn)場(chǎng)總線之一。CAN總線的主要特點(diǎn)是[1]:
①最大傳輸速率1Mbit/s(40m),最大傳輸距離10km(5kbit/s)。傳輸介質(zhì)可以是雙絞線、同軸電纜和光纖。
②采用點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)、全局廣播等幾種方式發(fā)送數(shù)據(jù),可實(shí)現(xiàn)全分布多機(jī)系統(tǒng),且無(wú)主從機(jī)之分。
③對(duì)信息塊進(jìn)行編碼,采用非破壞性總線優(yōu)先級(jí)仲裁技術(shù),仲裁的依據(jù)是信息塊的標(biāo)識(shí)符。
④支持4類報(bào)文幀:數(shù)據(jù)幀、遠(yuǎn)程幀、超載幀和出錯(cuò)幀。
⑤采用面向控制的短幀結(jié)構(gòu),數(shù)據(jù)段的長(zhǎng)度為0~8字節(jié),從而使得每幀數(shù)據(jù)出錯(cuò)率低且實(shí)時(shí)性好。
⑥運(yùn)行CRC(cyclic redundancy check)校驗(yàn)技術(shù),具有較強(qiáng)的錯(cuò)誤控制和重發(fā)的功能,出錯(cuò)率極低等等。
在線編程(IAP)技術(shù)是一種通過(guò)微處理系統(tǒng)上的I/O口對(duì)微處理系統(tǒng)的用戶程序進(jìn)行重新編制的技術(shù)。這種技術(shù)不需打開(kāi)儀器儀表的機(jī)殼和拔下內(nèi)部的CPU或程序存儲(chǔ)器便能完成儀器儀表的傳感器修正系數(shù)的更換或是監(jiān)控軟件的升級(jí)。這種技術(shù)應(yīng)用于現(xiàn)場(chǎng)總線系統(tǒng)中無(wú)疑能使工業(yè)自動(dòng)化系統(tǒng)的組態(tài)、調(diào)試和維護(hù)更加快速。
超聲波流量計(jì)常用的四種編程程序由 捷特儀表 提供http://www.wzlawxsbh.com/