《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于AVR單片機的衛星地面測控系統設計
基于AVR單片機的衛星地面測控系統設計
摘要: 本文介紹了單片機Atmega128在一種衛星地面測控系統中的應用,該系統利用Atmega128完成了10路模擬信號的測量、4路脈沖信號的頻率測量以及脈沖寬度的測量,由單片機上的16位定時計數器輸出兩路與輸入信號具有相位關系的信號,并通過外擴串口與其它測試模塊及工控機進行通信。由于要求系統能夠連續穩定工作3年,并且數據不能丟失,因此,在設計時采用了雙電源冗余熱備份的方案,并且采用兩個工控機同時接收數據并互為備份的設計方案。
Abstract:
Key words :

引言

    本文介紹了單片機Atmega128在一種衛星地面測控系統中的應用,該系統利用Atmega128完成了10路模擬信號的測量、4路脈沖信號的頻率測量以及脈沖寬度的測量,由單片機上的16位定時計數器輸出兩路與輸入信號具有相位關系的信號,并通過外擴串口與其它測試模塊及工控機進行通信。由于要求系統能夠連續穩定工作3年,并且數據不能丟失,因此,在設計時采用了雙電源冗余熱備份的方案,并且采用兩個工控機同時接收數據并互為備份的設計方案。

硬件設計

    Atmega128屬于Atmel公司的AVR系列單片機,是一種高性能、低功耗的8位控制器,執行大多數指令只需要一個時鐘周期。其最高主頻可達到16MHz;自帶128KB可在線編程的閃存、4KB的EEPROM、4KB的SRAM,程序可進行加密;自帶JTAG接口,便于程序的調試;集成外設:兩個8位定時計數器、兩個16位定時計數器、兩個8位PWM通道、6個16位PWM通道、8個10位 ADC通道、一個I2C接口、兩個可編程異步串行接口、一個SPI接口、一個看門狗定時器和8個外部中斷源。

    衛星地面測控系統主要由電源模塊、電子機箱、測試箱、工控機以及紅外地球敏感器構成,系統結構如圖1所示。其中兩臺電源并聯, 輸出串聯二極管。在整個測控系統中,測試箱的控制功能是通過Atmega128完成的。

圖1 衛星地面測控系統結構圖

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

測試箱的硬件原理

    單片機與工控機之間通過RS-232標準總線進行數據通信,在設計中采用電平轉換芯片MAX202來實現二者的電平兼容。為了能夠和測試系統的其它模塊進行串口通信,采用Xicor公司的雙串口芯片ST16C2552外擴了兩個串口,由于與外擴串口通信的是-12V~+12V的信號,不是標準電平,因此,要另外設計電平轉換電路。使用Altera公司的可編程邏輯器件EPM7128實現對DAC和ADC的邏輯控制;使用BB公司的12位ADC實現對遙測信號的測量;采用BB公司的12位DAC芯片DAC7615產生電地球波信號。

具體功能如下:

    ADC測量:將輸入的10路模擬信號經過阻抗匹配后連接到通道選擇器,再接到ADC芯片ADS7835的信號輸入端,ADC的輸出信號以及控制信號經過光隔離接到EPLD邏輯,在邏輯內部實現對ADC啟動信號、轉換通道的選擇,以及對時鐘信號、數據信號的控制。

    DAC 輸出:單片機通過邏輯芯片實現對DAC的片選、時鐘、數據等信號的控制,DAC的輸出信號通過光隔離后,再經過運算放大器進行阻抗匹配后才接到整個測試系統的其它模塊。DAC參考電壓的穩定性至關重要,如果參考電壓穩定性差,將導致整個DAC的輸出波動很大,達不到輸出精度要求,因此,通過一個穩壓芯片 AD584給DAC提供參考電壓。

    頻率測量:電測箱需要對2路基準信號和2路光柵信號進行測量,利用AVR單片機的外部中斷和計數器1、3實現測量。將2路基準信號分別接到單片機的外中斷INT0和INT1,將光柵信號分別接到單片機的計數器1和3。在電測箱需要實現的各項功能中,電地球波的輸出是一個難點,因為需要電地球波的輸出與基準信號具有相位關系,并且要求輸出具有可變相位、幅度和斜率的信號,本文通過計數器1和3的比較中斷實現電地球波的輸出。

    串口通信:通過單片機自帶的兩個異步串口,并經過電平轉換與上位工控機通信,通過雙串口芯片ST16C2552外擴兩個串口與測試系統的其它模塊通信,此外,為保證系統的可靠性,所有的信號均經過光隔離。

軟件實現

單片機軟件

   運行在單片機的底層軟件主要負責ADC的采集、DAC的輸出以及串口的通信,下面詳細介紹各個部分:

1、 光柵頻率測量:測量模擬基準一個周期內的光柵個數

   在程序中,每次進入外中斷0的處理程序void int0_isr(void)(即基準脈沖上升沿到來時)調用void do_gd_opt_frq()函數測量光柵頻率。

    在do_gd_opt_frq ()函數中,先把前一次讀取計數器1的計數值保存在全局變量time1_prev中,再讀取計數器1的值并保存在time1_next中,因為兩次中斷的間隔就是模擬基準的周期,有一個光柵脈沖計數器1就加1,所以,前后兩次的差值就是一個模擬基準周期內光柵的個數。

2、 模擬基準幅度

    在INT0的中斷處理函數中置一個全局標志refoa_gd_flag = 0xff,在一個100?s的定時器的中斷處理函數中查詢此全局標志,若置位,則對模擬基準的ADC通道連續采樣400次,采樣后清 refoa_gd_flag標志并置采樣結束的標志refoa_gd_finished = 0xff。在主程序main()函數中不斷查詢refoa_gd_finished標志,若置位,則調用do_refoa_high()函數求出模擬基準幅度,然后清標志。在do_refoa_high()函數中求出采樣400個點中的最大值和最小值,兩者之差即為模擬基準幅度。

3、 模擬基準周期:測量一個模擬基準周期的毫秒值

    在一個1ms的定時器溢出中斷處理函數中,全局的計數變量ref_gd_count加1,ref_gd_count初始化為0。在外中斷0的處理函數 int0_isr()中讀取ref_gd_count的值,即為模擬基準的周期,再把ref_gd_count清零。這樣,只有第一次測量值是無效的,以后均為有效的模擬基準周期。

4、 模擬基準寬度

   在INT0的中斷處理函數中置全局變量refoa_width_gd_ count=0,在100?s的定時器中斷中查詢外中斷0的引腳是否為高電平,是高電平則refoa_width_gd_count加1,直至變為低電平,refoa_width_gd_ count的值就是模擬基準的寬度。

5、 電地球波

    在do_ein()函數中處理工控機串口傳過來的電地球波信息,如果是停止電地球波命令(state=0),通過DA電地球波直接輸出高電平并清除電地球波使能標志位ein_gd_enable。如果是開始電地球波命令(state=1),把相位、寬度、幅值、斜率等信息賦給全局變量保存,并且計算出步距和斜率上各個點的輸出值,置位電地球波使能標志 ein_gd_enable。

    電地球波的產生是以模擬基準為基準的,在INT0的中斷處理函數中設置計數器的比較中斷并使能。

    圖3中, T0與T1 之間是地球波的相位,T2與T5之間是地球波的寬度。在T1時刻進入計數器1的比較中斷timer1_compa_isr(),全局變量 ein_count_gd初始化為0,若ein_count_gd不等于1,則設置比較中斷寄存器初值為下一步距點,并通過DA輸出,若下一個比較中斷到來ige ein_count_gd不等于1,則繼續設置比較中斷寄存器初值為下一個步距,并輸出幅值,直到斜率上所有的幅值輸出完畢,置ein_count_gd 等于1并設置比較中斷寄存器,使T4進入比較中斷。T4進入比較中斷,并按照前述方法輸出斜率上所有的幅值,完畢則禁止比較中斷并置 ein_count_gd=0xff。

地球波的相位

   ADC采集和串口通信比較簡單,這里不再贅述。

軟件編譯與下載

   由于單片機程序是采用C語言設計完成的,因此,需要用Image Craft公司的ICCAVR編譯器進行編譯,生成COF文件,再用AVR STUDIO調試軟件和雙龍公司的AVR JTAG仿真器進行調試。調試完成后,利用單片機的JTAG接口寫入內部閃存即可。

上位工控機軟件

   運行在工控機上的軟件主要負責處理AVR單片機通過串口傳送過來的數據并進行超差、報警的檢查,然后把數據存儲在ACCESS數據庫中,以便查看。該軟件能夠設置電地球波的幅度、寬度、相位,并能自主控制電地球波的產生或停止。

   上位工控機軟件采用VC6.0編寫,其中的數據庫部分采用ADO技術。ADO是Microsoft公司為最新和最強大的數據訪問范例 OLE DB 而設計的,是一個便于使用的應用程序層接口。ADO 最主要的優點是易于使用、速度快、內存支出少且磁盤遺跡小。

結語

    采用Atmel公司的AVR系列單片機進行系統設計,其外圍設備豐富、集成開發環境簡單易用、支持在線仿真等特點使得系統的開發周期大大縮短。本文介紹的系統使用了很多Atmega128的外圍資源,并通過Atmega128提供的定時計數器的比較中斷解決了系統設計中的難題。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本免费人成黄页在线观看视频 | 台湾三级在线播放 | 久久人视频 | 性色综合| 亚洲国产一区二区三区综合片 | 免费一级毛片在线播放放视频 | 不卡的毛片| 国产免费一区二区三区 | 亚洲天堂成人在线观看 | 毛片免费高清免费 | 毛片在线免费播放 | 欧美一级毛片片aa视频 | 亚洲精品亚洲人成在线麻豆 | 免费国产成人高清视频网站 | 久草在线国产视频 | 香蕉久久网站 | 亚洲韩国日本欧美一区二区三区 | 国产在视频线精品视频二代 | 欧美一线视频 | 中文字幕日韩国产 | 美国一级片在线观看 | 国产乱子精品免费视观看片 | 亚洲国产成人久久一区二区三区 | 性欧美欧美之巨大69 | 亚洲第一视频网站 | 美女黄色免费在线观看 | yy6080福利午夜免费观看 | 亚洲欧美综合国产精品一区 | 综合免费视频 | 五月久久亚洲七七综合中文网 | 纯欧美一级毛片免费 | 最全精品自拍视频在线 | 黄色成人在线观看 | 欧美大片aaaa一级毛片 | 欧美日韩精品一区二区在线线 | 亚洲国产一区在线精选 | 中文字幕一区二区三区视频在线 | 国产高清在线精品一区二区 | 日韩精品一区二区三区在线观看l | 美女插跳蛋视频叫爽 | 欧美成人影院 |