基于數(shù)字傾角傳感器的線路電子檢測尺工作原理及硬件設(shè)計
C8051F060有大量的數(shù)字資源需要通過4個低端I/O端口P0、P1、P2和P3才能使用。P0、P1、P2和P3中的每個引腳既可定義為通用的端口I/O(GPIO)引腳,又可以分配給一個數(shù)字外設(shè)或功能(例如:UART0 或INT1)。系統(tǒng)設(shè)計者控制數(shù)字功能的引腳分配,只受可用引腳數(shù)的限制。這種資源分配的靈活性是通過使用優(yōu)先權(quán)交叉開關(guān)譯碼器實(shí)現(xiàn)的。不管引腳被分配給一個數(shù)字外設(shè)或是作為通用 I/O,總是可以通過讀相應(yīng)的數(shù)據(jù)寄存器得到端口 I/O 引腳的狀態(tài)。
優(yōu)先權(quán)交叉開關(guān)譯碼器按優(yōu)先權(quán)順序?qū)⒍丝?~3的引腳分配給器件上的數(shù)位外(UART、SMBus、PCA、定時器等)。端口引腳的分配順序從P0.0開始,可以一直分配到P3.7。當(dāng)交叉開關(guān)配置寄存器 XBR0、XBR1、XBR2和XBR3中外設(shè)的對應(yīng)使能位被設(shè)置為邏輯1時,交叉開關(guān)將端口引腳分配給外設(shè)。端口0~3中所有未被交叉開關(guān)分配的引腳都可以作為通用I/O(GPIO)引腳,通過讀或?qū)懴鄳?yīng)的端口數(shù)據(jù)寄存器訪問,這是一組既可以按位尋址也可以按字節(jié)尋址的SFR。被交叉開關(guān)分配的那些端口引腳的輸出狀態(tài),受使用這些引腳的數(shù)字外設(shè)的控制。向端口資料寄存器(或相應(yīng)的端口位)寫入時對這些引腳的狀態(tài)沒有影響。
C8051F060單片機(jī)的P0.0引腳被配置為UART0的TX0,P0.1引腳被配置為UART0的RX0,UART0用來與數(shù)字傾角(角度)傳感器進(jìn)行通訊。UART0是一個具有幀錯誤檢測和地址識別硬件的增強(qiáng)型串行口。UART0 可以工作在全雙工異步方式或半雙工同步方式,并支持多處理器通信。接收數(shù)據(jù)被暫存于一個保持寄存器中,這就允許UART0 在軟件尚未讀取前一個數(shù)據(jù)字節(jié)的情況下開始接收第二個輸入數(shù)據(jù)字節(jié)。一個接收覆蓋位用于指示新的接收數(shù)據(jù)已被鎖存到接收緩沖器,而前一個接收數(shù)據(jù)尚未被讀取。對UART0的控制和訪問是通過相關(guān)的特殊功能寄存器即串行控制寄存器(SCON0)和串行數(shù)據(jù)緩沖器(SBUF0)來實(shí)現(xiàn)的。用同一個 SBUF0 地址可以訪問發(fā)送寄存器和接收寄存器。讀SBUF0將自動訪問接收寄存器,而寫 SBUF0 自動訪問發(fā)送寄存器。UART0可以工作在查詢或中斷方式,它有兩個中斷源:一個發(fā)送中斷標(biāo)志 TI0(SCON0.1,數(shù)據(jù)字節(jié)發(fā)送結(jié)束時置位)和一個接收中斷標(biāo)志 RI0(SCON0.0,接收完一個數(shù)據(jù)字節(jié)后置位)。
C8051F060單片機(jī)的P0.2被配置為UART1的TX1, P0.3引腳被配置為UART1的RX1, UART1用來與上位PC機(jī)進(jìn)行通訊。對UART1的控制基本與UART0相同。
C8051F060單片機(jī)的P0.4被配置為外部中斷源(/INT0)的輸入腳,接收位移傳感器的零點(diǎn)復(fù)位信號,減少由于多次來回運(yùn)動造成的累積測量誤差。/INT0被配置為下降沿觸發(fā)輸入。
C8051F060單片機(jī)的P0.5被配置為定時器/計數(shù)器 3的計數(shù)輸入腳(T3),接收位移傳感器的位移脈沖。P0.6被配置為定時器/計數(shù)器3計數(shù)方向控制腳(T3EX),用來判斷位移傳感器的移動方向。C/T3位被置"1"時,將定時器配置為計數(shù)器方式(即在 T3 輸入引腳上的負(fù)跳變使計數(shù)器/定時器的寄存器加1或減 1)。定時器配置寄存器中的減 1 使能位(DCEN3)被置"1",定時器可以向上或向下計數(shù)。當(dāng) DCEN3=1時,定時器的計數(shù)方向受 T3EX引腳上的邏輯電平的控制。當(dāng) T3EX =1 時,計數(shù)器/定時器向上計數(shù);當(dāng)T3EX=0時,計數(shù)器/定時器向下計數(shù)。T3EX必須在數(shù)字交叉開關(guān)中被使能并且被配置為數(shù)字輸入。
位移傳感器
采用DC20型光柵尺位移傳感器作為軌距測量工具。DC20型光柵尺采用雙層防護(hù)膠條密封,可保證最佳的密封性能。讀數(shù)頭滾動系統(tǒng)采用450式五軸承滾動系統(tǒng),保證光學(xué)感應(yīng)系統(tǒng)能長期穩(wěn)定地在光柵尺上順暢滑行以及它高等級的測量精度。
位移傳感器輸出信號波形見圖4。
調(diào)試電路
C8051F060的片內(nèi) JTAG 調(diào)試電路允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品進(jìn)行非侵入式(不占用片內(nèi)資)、全速、在系統(tǒng)調(diào)試。該調(diào)試系統(tǒng)支持觀察并修改存儲器和寄存器,支持?jǐn)帱c(diǎn)、觀察點(diǎn)、單步及行和停機(jī)命令。在使用 JTAG調(diào)試時,所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行。JTAG接口使用MCU上的4個專用引腳(TMS、TCK、TDI、TDO)。
萬年歷時鐘芯片電路
每次測量后記錄測量時間,以便在上位PC機(jī)形成報表。DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計時,具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。
DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。DS1302與CPU的連接如圖5所示。
EEPROM電路
測量的數(shù)據(jù)保存在EEPROM中。AT24C512是ATMEL公司推出的具有I2C總線容量達(dá)512Kbit(64K×8)的EEPROM,該芯片的主要特性如下:存儲容量為65536byte;與100kHz、400kHz、1MHz I2C總線兼容;100000次編程/擦寫周期;單電源、讀寫電壓為1.8V~5.5V;ESD保護(hù)電壓>4kV;數(shù)據(jù)可保存40年;寫保護(hù)功能,當(dāng)WP為高電平時,進(jìn)入寫保護(hù)狀態(tài);CMOS低功耗技術(shù),最大寫入電流為3mA;128byte頁寫入緩存器;自動定時的寫周期;具有8引腳DIP及20 引腳SOIC封裝等多種封裝形式。EEPROM電路見圖6。
RS232電平轉(zhuǎn)換電路
MAX232是單電源雙RS232發(fā)送/接受芯片,采用單一+5V電源供電,只需外接4個電容,便可構(gòu)成標(biāo)準(zhǔn)的RS232通信接口。單片機(jī)和計算機(jī)、數(shù)字傾角(角度)傳感器接口電路如圖7所示。圖中的C3、C4、C5、C6是電荷泵升壓及電壓反轉(zhuǎn)部分電路,產(chǎn)生V+、V-電源供EIA電平轉(zhuǎn)換使用,C7 是VCC對地去藕電容,其值均為0.1μF。電容C3~C7安裝時必須盡量靠近MAX232芯片引腳,以提高抗干擾能力。
液晶顯示電路
JM19264A是具有192*64點(diǎn)陣的圖形點(diǎn)陣液晶模塊,它與單片機(jī)聯(lián)接構(gòu)成功能強(qiáng)、結(jié)構(gòu)簡單、人機(jī)對話界面豐富的應(yīng)用系統(tǒng)。本儀器中,單片機(jī)采用直接訪問式接口電路與液晶顯示電路進(jìn)行控制。
液晶屏顯示內(nèi)容及鍵盤布局
線路道岔電子檢測尺外部由JM19264A液晶顯示屏、RS232接口和4*4的鍵盤構(gòu)成,右端是可旋轉(zhuǎn)移動的軸,通過軸的移動產(chǎn)生位移信號輸入單片機(jī),單片機(jī)每隔0.5s刷新一次液晶顯示屏數(shù)據(jù)。H后的"+"號代表左端高,"-"號表示左端低。L后的"+"表示比標(biāo)準(zhǔn)值大,"-"表示比標(biāo)準(zhǔn)值小。液晶屏顯示及鍵盤布局見圖8。
評論