基于IEEE1451標(biāo)準(zhǔn)接口的智能傳感器硬件設(shè)計(jì)
其中第3種為外部觸發(fā)源,另外3種為內(nèi)部觸發(fā)源。ADOBUSY位在轉(zhuǎn)換期間被置‘1’,轉(zhuǎn)換結(jié)束后復(fù)‘O’。ADOBUSY位的下降沿觸發(fā)中斷并將中斷標(biāo)志ADOINT(ADCOCN.5)置‘1’。在單端方式下,ADC0的轉(zhuǎn)換數(shù)據(jù)被保存在ADC0數(shù)據(jù)字的MSB和LSB寄存器:ADCOH和ADCOL。當(dāng)通過向ADOBUSY寫‘1’啟動(dòng)數(shù)據(jù)轉(zhuǎn)換時(shí),應(yīng)查詢ADOINT。位以確定轉(zhuǎn)換何時(shí)結(jié)束。A/D轉(zhuǎn)換流程如圖3所示。
在設(shè)計(jì)中,數(shù)據(jù)的通信是創(chuàng)新點(diǎn)。IEEEl451.4標(biāo)準(zhǔn)的接口要求既能輸出模擬信號(hào),又能輸出數(shù)字信號(hào)。同時(shí)能自動(dòng)識(shí)別傳感器的類型,通過軟件的控制可以對(duì)傳感器進(jìn)行校準(zhǔn)。根據(jù)這個(gè)要求,設(shè)計(jì)了另外一種混合接口,如圖4所示。通過這個(gè)接口,既能輸出模擬信號(hào),又能輸出數(shù)字信號(hào)。模擬信號(hào)即傳感器直接輸出經(jīng)過調(diào)理后的信號(hào)。數(shù)字信號(hào)包括兩種信號(hào),一種是RS422電平的信號(hào),用D+,D-表示,另外一種數(shù)字信號(hào)是C8051F060從EEPROM中讀出的TEDS信號(hào),在此用DAT表示。EEPROM采用Dallas Semiconductor生產(chǎn)的DS2431作為TEDS的信息存儲(chǔ)器,DS2431為1024位可編程只讀存儲(chǔ)器,可識(shí)別和儲(chǔ)存與之相適應(yīng)產(chǎn)品的有關(guān)信息。這些系列或產(chǎn)品的指定信息能通過最小的接口訪問,比如微控制器的一個(gè)端口引腳。在設(shè)計(jì)中,DS243l的DAT引腳與C8051F060的P2.7口相連。通信過程中,C8051F060與DS2431的通訊通過單線協(xié)議進(jìn)行。DS2431的主要作用是向微處理器提供儲(chǔ)存在其內(nèi)部的TEDS。要實(shí)現(xiàn)與DS2431的通信,核心是掌握好1一Wire器件信號(hào)收發(fā)時(shí)序的問題。為了保證數(shù)據(jù)的完整性,DS243l對(duì)通信協(xié)議有很嚴(yán)格的要求。DS2431的通信協(xié)議主要包括4種信號(hào)類型:初始化信號(hào)(包括1個(gè)復(fù)位脈沖和1個(gè)應(yīng)答脈沖),寫O,寫1,讀數(shù)據(jù)。這些信號(hào)中,除了應(yīng)答脈沖以外,都是由總線控制單元發(fā)出。為保證數(shù)據(jù)可靠的傳輸,任何時(shí)刻單總線上只能有一個(gè)數(shù)據(jù),每次數(shù)據(jù)和命令傳輸通常從復(fù)位命令開始,隨后是ROM命令和RAM命令,最后進(jìn)行數(shù)據(jù)交換,必須嚴(yán)格遵守這個(gè)命令序列,才能保證數(shù)據(jù)的正確傳輸。
評(píng)論