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