基于AVR單片機(jī)的衛(wèi)星地面測(cè)控系統(tǒng)設(shè)計(jì)
出處:luckyjjjjj 發(fā)布于:2007-04-20 14:57:29
硬件設(shè)計(jì)
Atmega128屬于Atmel公司的AVR系列單片機(jī),是一種高性能、低功耗的8位控制器,執(zhí)行大多數(shù)指令只需要一個(gè)時(shí)鐘周期。其主頻可達(dá)到16MHz;自帶128KB可在線編程的閃存,4KB的EEPROM、4KB的SRAM,程序可進(jìn)行加密;自帶JTAG接口,便于程序的調(diào)試;集成外設(shè):兩個(gè)8位定時(shí)計(jì)數(shù)器,兩個(gè)16位定時(shí)計(jì)數(shù)器,兩個(gè)8位PWM通道、6個(gè)16位PWM通道、8個(gè)10位ADC通信、一個(gè)I2C接口、兩個(gè)可編程異步串行接口,一個(gè)SPI接口、一個(gè)看門狗定時(shí)器和8個(gè)外部中斷源。
衛(wèi)星地面測(cè)控系統(tǒng)主要由電源模塊、電子機(jī)箱、測(cè)試箱、工控機(jī)以及紅外地球敏感器構(gòu)成,系統(tǒng)結(jié)構(gòu)如圖1所示,其中兩臺(tái)電源并聯(lián),輸出串聯(lián)二極管。在整個(gè)測(cè)控系統(tǒng)中,測(cè)試箱的控制功能是通過(guò)Atmega128完成的。
測(cè)試箱的硬件原理如圖2所示。測(cè)試系統(tǒng)以AVR單片機(jī)為,外圍電路由串口通信、ADC采樣和DAC輸出等部分構(gòu)成。
單片機(jī)與工控機(jī)之間通過(guò)RS232標(biāo)準(zhǔn)總線進(jìn)行數(shù)據(jù)通信,在設(shè)計(jì)中采用電平轉(zhuǎn)換芯片MAX202來(lái)實(shí)現(xiàn)二者的電平兼容。為了能夠和測(cè)試系統(tǒng)的其他模塊進(jìn)行串口通信,采用Xicor公司的雙串口芯片ST16C2552外擴(kuò)了兩個(gè)串口,由于與外擴(kuò)串口通信的是-12V~+12V的信號(hào),不是標(biāo)準(zhǔn)電平,因此,要另外設(shè)計(jì)電平轉(zhuǎn)換電路。使用Altera公司的可編程邏輯器件EPM7128實(shí)現(xiàn)對(duì)DAC和ADC的邏輯控制;使用BB公司的12位ADC實(shí)現(xiàn)對(duì)遙測(cè)信號(hào)的測(cè)量;采用BB公司的12位DAC芯片DAC7615產(chǎn)生電地球波信號(hào)。
具體功能如下:
ADC測(cè)量:將輸入的10路模擬信號(hào)經(jīng)過(guò)阻抗匹配后連接到通道選擇器,再接到ADC芯片ADS7835的信號(hào)輸入端,ADC的輸出信號(hào)以及控制信號(hào)經(jīng)過(guò)光隔離接到EPLD邏輯,在邏輯內(nèi)部實(shí)現(xiàn)對(duì)ADC啟動(dòng)信號(hào)、轉(zhuǎn)換通道的選擇,以及對(duì)時(shí)鐘信號(hào)、數(shù)據(jù)信號(hào)的控制。
DAC輸出:?jiǎn)纹瑱C(jī)通過(guò)邏輯芯片實(shí)現(xiàn)對(duì)DAC的片選、時(shí)鐘、數(shù)據(jù)等信號(hào)的控制,DAC的輸出信號(hào)通過(guò)光隔離后,再經(jīng)過(guò)運(yùn)算放大器進(jìn)行阻抗匹配后才接到整個(gè)測(cè)試系統(tǒng)的其他模塊。DAC參考電壓的穩(wěn)定性至關(guān)重要,如果參考電壓穩(wěn)定性差,將導(dǎo)致整個(gè)DAC的輸出波動(dòng)很大,達(dá)不到輸出要求,因此,通過(guò)一個(gè)穩(wěn)壓芯片AD584給DAC提供參考電壓。
頻率測(cè)量:電測(cè)箱需要對(duì)2路基準(zhǔn)信號(hào)和2路光柵信號(hào)進(jìn)行測(cè)量,利用AVR單片機(jī)的外部中斷和計(jì)數(shù)器1、3實(shí)現(xiàn)測(cè)量。將2路基準(zhǔn)信號(hào)分別接到單片機(jī)的外中斷INT0和INT1,將光柵信號(hào)分別接到單片機(jī)的計(jì)數(shù)器1和3。在電測(cè)箱需要實(shí)現(xiàn)的各項(xiàng)功能中,電地球波的輸出是一個(gè)難點(diǎn),因?yàn)樾枰姷厍虿ǖ妮敵雠c基準(zhǔn)信號(hào)具有相位關(guān)系,并且要求輸出具有可變相位、幅度和斜率的信號(hào),本文通過(guò)計(jì)數(shù)器1和3的比較中斷實(shí)現(xiàn)電地球波的輸出。
串口通信:通過(guò)單片機(jī)自帶的兩個(gè)異步串口,并經(jīng)過(guò)電平轉(zhuǎn)換與上位工控機(jī)通信,通過(guò)雙串口芯片ST16C2552外擴(kuò)兩個(gè)串口與測(cè)試系統(tǒng)的其他模塊通信。此外,為保證系統(tǒng)的可靠性,所有的信號(hào)均經(jīng)過(guò)光隔離。
軟件實(shí)現(xiàn)
單片機(jī)軟件
運(yùn)行在單片機(jī)的底層軟件主要負(fù)責(zé)ADC的采集、DAC的輸出以及串口的通信,下面詳細(xì)介紹各個(gè)部分:
1、光柵頻率測(cè)量:測(cè)量模擬基準(zhǔn)一個(gè)周期內(nèi)的光柵個(gè)數(shù)
在程序中,每次進(jìn)入外中斷0的處理程序void int0_isr(void)(即基準(zhǔn)脈沖上升沿到來(lái)時(shí))調(diào)用void do_gd_opt_frq()函數(shù)測(cè)量光柵頻率。
在do_gd_opt_frq()函數(shù)中,先把前讀取計(jì)數(shù)器1的計(jì)數(shù)值保存在全局變量time1_prev中,再讀取計(jì)數(shù)器1的值并保存在time1_next中,因?yàn)閮纱沃袛嗟拈g隔就是模擬基準(zhǔn)的周期,有一個(gè)光柵脈沖計(jì)數(shù)器1就加1,所以,前后兩次的差值就是一個(gè)模擬基準(zhǔn)周期內(nèi)光柵的個(gè)數(shù)。
2、模擬基準(zhǔn)幅度
在INT0的中斷處理函數(shù)中置一個(gè)全局標(biāo)志refoa_gd_flag=0xff,在一個(gè)100μs的定時(shí)器的中斷處理函數(shù)中查詢此全局標(biāo)志,若置位,則對(duì)模擬基準(zhǔn)的ADC通道連續(xù)采樣400次,采樣后清refoa_gd_flag標(biāo)志并置采樣結(jié)束的標(biāo)志refoa_gd_finished=0xff。在主程序main()函數(shù)中不斷查詢r(jià)efoa_gd_finished標(biāo)志,若置位,則調(diào)用do_refoa_high()函數(shù)求出模擬基準(zhǔn)幅度,然后清標(biāo)志。在do_refoa_high()函數(shù)中求出采樣400個(gè)點(diǎn)中的值和值,兩者之差即為模擬基準(zhǔn)幅度。
3、模擬基準(zhǔn)周期:測(cè)量一個(gè)模擬基準(zhǔn)周期的毫秒值
在一個(gè)1ms的定時(shí)器溢出中斷處理函數(shù)中,全局的計(jì)數(shù)變量ref_gd_count加1,ref_gd_count初始化為0。在外中斷0的處理函數(shù)int0_isr()中讀取ref_gd_count的值,即為模擬基準(zhǔn)的周期,再把ref_gd_count清零。這樣,只有次測(cè)量值是無(wú)效的,以后均為有效的模擬基準(zhǔn)周期。
4、模擬基準(zhǔn)寬度
在INT0的中斷處理函數(shù)中置全局變量refoa_width_gd_count=0,在100μs的定時(shí)器中斷中查詢外中斷0的引腳是否為高電平,是高電平則refoa_width_gd_count加1,直至變?yōu)榈碗娖?,refoa_width_gd_count的值就是模擬基準(zhǔn)的寬度。
5、電地球波
在do_ein()函數(shù)中處理工控機(jī)串口傳過(guò)來(lái)的電地球波信息,如果是停止電地球波命令(state=0),通過(guò)DA電地球波直接輸出高電平并清除電地球波使能標(biāo)志位ein_gd_enable。如果是開(kāi)始電地球波命令(state=1),把相位、寬度、幅值、斜率等信息賦給全局變量保存,并且計(jì)算出步距和斜率上各個(gè)點(diǎn)的輸出值,置位電地球波使能標(biāo)志ein_gd_enable。
電地球波的產(chǎn)生是以模擬基準(zhǔn)為基準(zhǔn)的,在INT0的中斷處理函數(shù)中設(shè)置計(jì)數(shù)器的比較中斷并使能。
圖3中,T0與T1之間是地球波的相位,T2與T5之間是地球波的寬度。在T1時(shí)刻進(jìn)入計(jì)數(shù)器1的比較中斷timer1_compa_isr(),全局變量ein_count_gd初始化為0,若ein_count_gd不等于1,則設(shè)置比較中斷寄存器初值為下一步距點(diǎn),并通過(guò)DA輸出,若下一個(gè)比較中斷到來(lái)ige ein_count_gd不等于1,則繼續(xù)設(shè)置比較中斷寄存器初值為下一個(gè)步距,并輸出幅值,直到斜率上所有的幅值輸出完畢,置ein_count_gd等于1并設(shè)置比較中斷寄存器,使T4進(jìn)入比較中斷。T4進(jìn)入比較中斷,并按照前述方法輸出斜率上所有的幅值,完畢則禁止比較中斷并置ein_count_gd=0xff。
ADC采集和串口通信比較簡(jiǎn)單,這里不再贅述。
軟件編譯與
由于單片機(jī)程序是采用C語(yǔ)言設(shè)計(jì)完成的,因此,需要用Image Craft公司的ICCAVR編譯器進(jìn)行編譯,生成COF文件,再用AVRSTUDIO調(diào)試軟件和雙龍公司的AVR JTAG仿真器進(jìn)行調(diào)試,調(diào)試完成后,利用單片機(jī)的JTAG接口寫入內(nèi)部閃存即可。
上位工控機(jī)軟件
運(yùn)行在工控機(jī)的軟件主要負(fù)責(zé)處理AVR單片機(jī)通過(guò)串口傳送過(guò)來(lái)的數(shù)據(jù)并進(jìn)行超差、報(bào)警的檢查,然后把數(shù)據(jù)存儲(chǔ)在ACCESS數(shù)據(jù)庫(kù)中,以便查看。該軟件能夠設(shè)置電地球波的幅度、寬度、相位,并能自主控制電地球波的產(chǎn)生或停止。
上位工控機(jī)軟件采用VC6.0編寫,其中的數(shù)據(jù)庫(kù)部分采用ADO技術(shù)。ADO是Microsoft公司為和強(qiáng)大的數(shù)據(jù)訪問(wèn)范例OLE DB而設(shè)計(jì)的,是一個(gè)便于使用的應(yīng)用程序?qū)咏涌?。ADO主要的優(yōu)點(diǎn)是易于使用、快速快、內(nèi)存支出少且磁盤遺跡小。
結(jié)語(yǔ)
采用Atmel公司的AVR系列單片機(jī)進(jìn)行系統(tǒng)設(shè)計(jì),其外圍設(shè)備豐富、集成開(kāi)發(fā)環(huán)境簡(jiǎn)單易用、支持在線仿真等特點(diǎn)使得系統(tǒng)的開(kāi)發(fā)周期大大縮短。本文介紹的系統(tǒng)使用了很多Atmega128的外圍資源,并通過(guò)Atmega128提供的定時(shí)計(jì)數(shù)器的比較中斷解決了系統(tǒng)設(shè)計(jì)中的難題。
參考文獻(xiàn):
[1]. Atmega128 datasheet http://www.hbjingang.com/datasheet/Atmega128_144651.html.
[2]. RS232 datasheet http://www.hbjingang.com/datasheet/RS232_585128.html.
[3]. MAX202 datasheet http://www.hbjingang.com/datasheet/MAX202_1089634.html.
[4]. ST16C2552 datasheet http://www.hbjingang.com/datasheet/ST16C2552_887872.html.
[5]. EPM7128 datasheet http://www.hbjingang.com/datasheet/EPM7128_1135902.html.
[6]. DAC7615 datasheet http://www.hbjingang.com/datasheet/DAC7615_253742.html.
[7]. ADS7835 datasheet http://www.hbjingang.com/datasheet/ADS7835_1056183.html.
[8]. AD584 datasheet http://www.hbjingang.com/datasheet/AD584_248571.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開(kāi)發(fā)實(shí)踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號(hào)處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級(jí)DSP信號(hào)處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)









