單片機典型案例開(kāi)發(fā)(六)
硬件設計
Atmega128屬于A(yíng)tmel公司的AVR系列單片機,是一種高性能、低功耗的8位控制器,執行大多數指令只需要一個(gè)時(shí)鐘周期。其最高主頻可達到16MHz;自帶128KB可在線(xiàn)編程的閃存、4KB的EEPROM、4KB的SRAM,程序可進(jìn)行加密;自帶JTAG接口,便于程序的調試;集成外設:兩個(gè)8位定時(shí)計數器、兩個(gè)16位定時(shí)計數器、兩個(gè)8位PWM通道、6個(gè)16位PWM通道、8個(gè)10位 ADC通道、一個(gè)I2C接口、兩個(gè)可編程異步串行接口、一個(gè)SPI接口、一個(gè)看門(mén)狗定時(shí)器和8個(gè)外部中斷源。
衛星地面測控系統主要由電源模塊、電子機箱、測試箱、工控機以及紅外地球敏感器構成,系統結構如圖1所示。其中兩臺電源并聯(lián), 輸出串聯(lián)二極管。在整個(gè)測控系統中,測試箱的控制功能是通過(guò)Atmega128完成的。

測試箱的硬件原理如圖2所示。測試系統以AVR單片機為核心,外圍電路由串口通信、ADC采樣和DAC輸出等部分構成。

單片機與工控機之間通過(guò)RS-232標準總線(xiàn)進(jìn)行數據通信,在設計中采用電平轉換芯片MAX202來(lái)實(shí)現二者的電平兼容。為了能夠和測試系統的其它模塊進(jìn)行串口通信,采用Xicor公司的雙串口芯片ST16C2552外擴了兩個(gè)串口,由于與外擴串口通信的是-12V~+12V的信號,不是標準電平,因此,要另外設計電平轉換電路。使用Altera公司的可編程邏輯器件EPM7128實(shí)現對DAC和ADC的邏輯控制;使用BB公司的12位ADC實(shí)現對遙測信號的測量;采用BB公司的12位DAC芯片DAC7615產(chǎn)生電地球波信號。
具體功能如下:
ADC測量:將輸入的10路模擬信號經(jīng)過(guò)阻抗匹配后連接到通道選擇器,再接到ADC芯片ADS7835的信號輸入端,ADC的輸出信號以及控制信號經(jīng)過(guò)光隔離接到EPLD邏輯,在邏輯內部實(shí)現對ADC啟動(dòng)信號、轉換通道的選擇,以及對時(shí)鐘信號、數據信號的控制。
DAC 輸出:?jiǎn)纹瑱C通過(guò)邏輯芯片實(shí)現對DAC的片選、時(shí)鐘、數據等信號的控制,DAC的輸出信號通過(guò)光隔離后,再經(jīng)過(guò)運算放大器進(jìn)行阻抗匹配后才接到整個(gè)測試系統的其它模塊。DAC參考電壓的穩定性至關(guān)重要,如果參考電壓穩定性差,將導致整個(gè)DAC的輸出波動(dòng)很大,達不到輸出精度要求,因此,通過(guò)一個(gè)穩壓芯片 AD584給DAC提供參考電壓。
頻率測量:電測箱需要對2路基準信號和2路光柵信號進(jìn)行測量,利用AVR單片機的外部中斷和計數器1、3實(shí)現測量。將2路基準信號分別接到單片機的外中斷INT0和INT1,將光柵信號分別接到單片機的計數器1和3。在電測箱需要實(shí)現的各項功能中,電地球波的輸出是一個(gè)難點(diǎn),因為需要電地球波的輸出與基準信號具有相位關(guān)系,并且要求輸出具有可變相位、幅度和斜率的信號,本文通過(guò)計數器1和3的比較中斷實(shí)現電地球波的輸出。
串口通信:通過(guò)單片機自帶的兩個(gè)異步串口,并經(jīng)過(guò)電平轉換與上位工控機通信,通過(guò)雙串口芯片ST16C2552外擴兩個(gè)串口與測試系統的其它模塊通信,此外,為保證系統的可靠性,所有的信號均經(jīng)過(guò)光隔離。
軟件實(shí)現
單片機軟件

評論