www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件

引言

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

硬件設(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)星地面測控系統(tǒng)主要由電源模塊、電子機(jī)箱、測試箱、工控機(jī)以及紅外地球敏感器構(gòu)成,系統(tǒng)結(jié)構(gòu)如圖1所示。其中兩臺(tái)電源并聯(lián), 輸出串聯(lián)二極管。在整個(gè)測控系統(tǒng)中,測試箱的控制功能是通過Atmega128完成的。

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

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

具體功能如下:

ADC測量:將輸入的10路模擬信號經(jīng)過阻抗匹配后連接到通道選擇器,再接到ADC芯片ADS7835的信號輸入端,ADC的輸出信號以及控制信號經(jīng)過光隔離接到EPLD邏輯,在邏輯內(nèi)部實(shí)現(xiàn)對ADC啟動(dòng)信號、轉(zhuǎn)換通道的選擇,以及對時(shí)鐘信號、數(shù)據(jù)信號的控制。

DAC 輸出:單片機(jī)通過邏輯芯片實(shí)現(xiàn)對DAC的片選、時(shí)鐘、數(shù)據(jù)等信號的控制,DAC的輸出信號通過光隔離后,再經(jīng)過運(yùn)算放大器進(jìn)行阻抗匹配后才接到整個(gè)測試系統(tǒng)的其它模塊。DAC參考電壓的穩(wěn)定性至關(guān)重要,如果參考電壓穩(wěn)定性差,將導(dǎo)致整個(gè)DAC的輸出波動(dòng)很大,達(dá)不到輸出精度要求,因此,通過一個(gè)穩(wěn)壓芯片 AD584給DAC提供參考電壓。

頻率測量:電測箱需要對2路基準(zhǔn)信號和2路光柵信號進(jìn)行測量,利用AVR單片機(jī)的外部中斷和計(jì)數(shù)器1、3實(shí)現(xiàn)測量。將2路基準(zhǔn)信號分別接到單片機(jī)的外中斷INT0和INT1,將光柵信號分別接到單片機(jī)的計(jì)數(shù)器1和3。在電測箱需要實(shí)現(xiàn)的各項(xiàng)功能中,電地球波的輸出是一個(gè)難點(diǎn),因?yàn)樾枰姷厍虿ǖ妮敵雠c基準(zhǔn)信號具有相位關(guān)系,并且要求輸出具有可變相位、幅度和斜率的信號,本文通過計(jì)數(shù)器1和3的比較中斷實(shí)現(xiàn)電地球波的輸出。

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

軟件實(shí)現(xiàn)

單片機(jī)軟件

運(yùn)行在單片機(jī)的底層軟件主要負(fù)責(zé)ADC的采集、DAC的輸出以及串口的通信,下面詳細(xì)介紹各個(gè)部分:

1、 光柵頻率測量:測量模擬基準(zhǔn)一個(gè)周期內(nèi)的光柵個(gè)數(shù)

在程序中,每次進(jìn)入外中斷0的處理程序void int0_isr(void)(即基準(zhǔn)脈沖上升沿到來時(shí))調(diào)用void do_gd_opt_frq()函數(shù)測量光柵頻率。

在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)志,若置位,則對模擬基準(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)周期:測量一個(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清零。這樣,只有第一次測量值是無效的,以后均為有效的模擬基準(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ī)串口傳過來的電地球波信息,如果是停止電地球波命令(state=0),通過DA電地球波直接輸出高電平并清除電地球波使能標(biāo)志位ein_gd_enable。如果是開始電地球波命令(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),并通過DA輸出,若下一個(gè)比較中斷到來ige ein_count_gd不等于1,則繼續(xù)設(shè)置比較中斷寄存器初值為下一個(gè)步距,并輸出幅值,直到斜率上所有的幅值輸出完畢,置ein_count_gd 等于1并設(shè)置比較中斷寄存器,使T4進(jìn)入比較中斷。T4進(jìn)入比較中斷,并按照前述方法輸出斜率上所有的幅值,完畢則禁止比較中斷并置 ein_count_gd=0xff。

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

軟件編譯與下載

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

上位工控機(jī)軟件

運(yùn)行在工控機(jī)上的軟件主要負(fù)責(zé)處理AVR單片機(jī)通過串口傳送過來的數(shù)據(jù)并進(jìn)行超差、報(bào)警的檢查,然后把數(shù)據(jù)存儲(chǔ)在ACCESS數(shù)據(jù)庫中,以便查看。該軟件能夠設(shè)置電地球波的幅度、寬度、相位,并能自主控制電地球波的產(chǎn)生或停止。

上位工控機(jī)軟件采用VC6.0編寫,其中的數(shù)據(jù)庫部分采用ADO技術(shù)。ADO是Microsoft公司為最新和最強(qiáng)大的數(shù)據(jù)訪問范例 OLE DB 而設(shè)計(jì)的,是一個(gè)便于使用的應(yīng)用程序?qū)咏涌?。ADO 最主要的優(yōu)點(diǎn)是易于使用、速度快、內(nèi)存支出少且磁盤遺跡小。

結(jié)語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個(gè)多世紀(jì)以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

在嵌入式系統(tǒng)開發(fā)中,程序燒錄是連接軟件設(shè)計(jì)與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對應(yīng)開發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級等不同場景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開發(fā)

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

本文中,小編將對單片機(jī)予以介紹,如果你想對它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來越廣泛地應(yīng)用于消費(fèi)類電子、醫(yī)療、工業(yè)自動(dòng)化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對單片機(jī)的了解,和小編一起來看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)報(bào)道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)韱纹瑱C(jī)的有關(guān)報(bào)道,通過閱讀這篇文章,大家可以對它具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對它的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來,單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對大家的興趣點(diǎn)所在,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號 模擬信號
關(guān)閉