NXP2214實現(xiàn)多路韋根信號采集硬件設(shè)計
為了快速響應(yīng),使用最高級的中斷優(yōu)先級,當(dāng)外部4路韋根接口有任何一路信號產(chǎn)生有效電平時,NXP2214都可以產(chǎn)生中斷。在中斷處理程序中,并行掃描4路韋根接口,并分別保存到變量。如果大于脈沖周期的時間間隔內(nèi)(如2.5 ms),都沒有發(fā)現(xiàn)任何一路信號產(chǎn)生有效電平,則認(rèn)為傳輸完畢。接著處理數(shù)據(jù)和發(fā)送消息通知其他任務(wù),然后退出中斷。并行I/O掃描的流程如圖3所示。
具體的掃描判斷過程如下:在定時器沒有超時時,首先讀入韋根信號引腳的電平到cur變量;接著判斷pre是否等于(curpre),即判斷是否產(chǎn)生1到0變化的有效電平,通過下降沿判斷的方式,防止誤把1次0當(dāng)成多個0讀入。如果產(chǎn)生了下降沿,則判斷信號是哪路韋根信號,對應(yīng)存入變量WG[0]~wG。如果是DATA0產(chǎn)生,則直接把變量左移1位;如果是DATA1產(chǎn)生,則變量加1后再左移。
該并行掃描處理的方法,能夠保證韋根接口在同時有多路信號產(chǎn)生的情況下,也可以正確操作。中斷觸發(fā)掃描過程,一個掃描結(jié)束后信號都保存到WG[0]~WG[3]中。
本文采用的是標(biāo)準(zhǔn)韋根輸出,信號幀由26位二進制數(shù)組成,幀格式如下:
奇偶校驗判斷正確后,將變量中的數(shù)據(jù)去除校驗位變成有效數(shù)據(jù);然后調(diào)用OSMboxPost函數(shù)發(fā)送消息,以通知其他任務(wù)處理。
4 結(jié) 論
本文的程序和硬件均在實際產(chǎn)品中調(diào)試通過。實驗表明,在8個通道同時完成輸入連續(xù)的韋根信號的情況下,微控制器NXP2214不僅能夠全部正確接收讀卡器的韋根數(shù)據(jù),還能同時完成處理TCP/IP、液晶顯示以及其他任務(wù),達到了設(shè)計要求。
評論