0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于AT91SAM7X微控制器實現(xiàn)數(shù)據(jù)采集系統(tǒng)的設計

電子設計 ? 來源:單片機與嵌入式系統(tǒng)應用 ? 作者:王普剛, 孟昭莉 ? 2021-03-20 09:54 ? 次閱讀

目前工業(yè)和醫(yī)療上使用的USB設備,絕大部分是使用專用的USB芯片微處理器相連的,特別是USB數(shù)據(jù)采集系統(tǒng)。根據(jù)不同的需求,通常也需要外擴一定數(shù)量的A/D轉(zhuǎn)換器,接口非常復雜。有時甚至需要為了協(xié)調(diào)不同的時鐘而外擴FIFO,這樣的設計不但成本大幅提高,而且系統(tǒng)的穩(wěn)定性受到了嚴重的威脅。本文使用Atmel公司開發(fā)的基于ARM的閃存微控制器AT91SAM7X芯片。芯片內(nèi)部集成了8路10位ADC和USB2.O設備接口,單芯片即可完成設計任務,避免了復雜的接口電路設計,不但有效地解決了以上這些問題,而且在很大程度上提高了系統(tǒng)的穩(wěn)定性。

1 AT91SAM7X數(shù)據(jù)采集主控芯片介紹

AT9lSAM7X是基于32位ARM7TDMI內(nèi)核的微控制器。AT91SAM7X系列微控制器具備嵌入式10/100M以太網(wǎng)Ethernet)MAC、CAN、全速(12 Mbps)USB 2.O。針對廣泛的網(wǎng)絡化實時嵌入式系統(tǒng)而設計的AT9lSAM7X256還具備1個10位模/數(shù)轉(zhuǎn)換器(ADC)、2個串行外圍接口(SPI)、同步串行接口(SSC)、雙線接口(TWI)、3個通用異步收發(fā)器UART)、1個8級優(yōu)先中斷控制器(priority interrupt controller)和眾多的監(jiān)管功能。這個新型的50MIPS MCU擁有64 KB的靜態(tài)存儲器和256 KB的25 ns閃存,這種閃存支持實時控制系統(tǒng)所需的可確定性處理能力。

2 數(shù)據(jù)采集系統(tǒng)硬件設計

2.1 數(shù)據(jù)采集系統(tǒng)硬件設計結(jié)構(gòu)圖

本文設計的基于AT91SAM7X的多路USB2.O數(shù)據(jù)采集系統(tǒng)主要由6部分組成,如圖1所示,分別是輸入信號接口模塊、多路信號放大模塊、信號調(diào)理模塊、數(shù)據(jù)采集處理模塊、USB2.O接口模塊和上位機模塊。其中,輸入信號接口模塊、多路信號放大模塊、信號調(diào)理模塊主要完成外部標準的一5~+5 V信號的隔離接人與變換。因為AT91SAM7X的ADC允許接入的轉(zhuǎn)換電壓范圍是O~3 V,所以上述3個過程的信號變換是必要的。本系統(tǒng)主要采用的變換手段為信號的差分放大,主要部分數(shù)據(jù)采集處理模塊和USB2.O接口模塊分別由 AT91SAM7X內(nèi)置的ADC模塊和USB2.O模塊來完成。由于大部分的工作是在同一個芯片內(nèi)部完成,只需通過簡單的寄存器設置和數(shù)據(jù)交換,即可完成數(shù)據(jù)的采集和傳輸過程,在很大程度上優(yōu)化了系統(tǒng)的設計。

基于AT91SAM7X微控制器實現(xiàn)數(shù)據(jù)采集系統(tǒng)的設計

2.2 AT91SAM7X的ADC模塊介紹

AT91SAM7X的片內(nèi)ADC是基于連續(xù)寄存器(SAR)模型,片內(nèi)通過一個8到1的模擬復用器來實現(xiàn)8通道的模/數(shù)轉(zhuǎn)換。ADC輸入范圍是O V~ADVREF。ADC支持8位和10位兩種分辨率,可以通過軟件觸發(fā)、外部ADTRG觸發(fā)引腳、內(nèi)部觸發(fā)定時器來啟動ADC??梢酝ㄟ^配置ADC時鐘、啟動時間、采樣保持時間來提高ADC的精度。ADC不受電源管理器管理,有一個中斷源,如果用到ADC中斷信號,則需要配置中斷控制器(AIC)。

2.3 AT91SAM7X的USB2.O模塊介紹

AT91SAM7X具有內(nèi)置的USB設備控制器,USB設備端口符合USB2.O全速器件規(guī)范,具有12 Mbps的通信速率。每個端點可以配置為幾種USB傳輸類型中的一種。USB設備自動檢測掛起與恢復,通過中斷來停止處理器。同時,為了配合USB設備的使用并發(fā)揮其最大性能,片內(nèi)集成了328字節(jié)的雙口RAM。此雙口RAM的一個DPR段由處理器讀/寫,另一個DPR段由USB2.O外設讀/寫,從而有效地保證了數(shù)據(jù)傳輸?shù)淖畲髱挕?/p>

3 AT91SAM7X的配置與模塊編程

3.1 ADC模塊的配置與模塊編程

ADC模塊功能框圖如圖2所示。ADC模塊是基于逐次逼近寄存器(SAR)的10位模/數(shù)轉(zhuǎn)換器,集成了一個8到1的模擬多路復用器,可實現(xiàn)8路模擬信號的模/數(shù)轉(zhuǎn)換。轉(zhuǎn)換由O V到ADVREF。同時,ADC支持8位或10位分辨率模式,并且轉(zhuǎn)換結(jié)果進入一個所有通道可用的通用寄存器(即通道專用寄存器)中??膳渲脼檐浖|發(fā)、外部觸發(fā)ADTRG引腳上升沿或內(nèi)部觸發(fā)定時計數(shù)器輸出。ADC還集成休眠模式與轉(zhuǎn)換序列發(fā)生器,并與PDC通道連接。這些特性可降低功耗,減少處理器干涉。最后,用戶可配置ADC時間,如啟動時間以及采樣與保持時間。

系統(tǒng)設計中采用多點方式進行A/D轉(zhuǎn)換,ADVREF接3.O V的基準電壓。方便起見,以單點轉(zhuǎn)換為例,說明ADC模塊的配置與模塊編程。當然在A/D轉(zhuǎn)換之前,系統(tǒng)時鐘和整體的配置是必需的,此處只介紹ADC模塊相關的配置與模塊編程。先將與模/數(shù)轉(zhuǎn)換相關的所有寄存器清零,以保證所有寄存器都有確定值。具體配置過程和IAR程序代碼如下:

3.2 USB2.0模塊的配置與固件編程

USB2.0接口模塊如圖3所示。該模塊需要2個時鐘,即USB2.O器件端口時鐘和主時鐘。模塊通過APB總線接口訪問USB2.0器件端口.通過對 APB寄存器的8位值進行讀/寫以實現(xiàn)對存儲數(shù)據(jù)的雙口RAM的讀/寫。外部恢復信號可選,允許在系統(tǒng)模式下喚醒USB2.O器件端口外設,然后主機將通知請求恢復的器件。USB2.O接口進行枚舉時,該特性必須由主機處理。為保留檢查VBUS的I/O線,必須先對PIO的控制器編程,將該I/O配置為輸入PIO模式。USB2.O器件中有一條中斷線與高級中斷控制器AIC相連,因此,處理USB2.0器件中斷時,必須在配置USB2.0器件端口前對高級中斷控制器AIC編程。

本系統(tǒng)中使用USB2.0接口與上位機進行通信。為便于說明,此處以向上位機端通過USB2.0接口傳送O~9的數(shù)字,并循環(huán)10次為例,說明 USB2.0模塊的配置與同件編程。系統(tǒng)初始化完成后,此固件程序就通過USB2.0接口發(fā)送O~9的數(shù)字,循環(huán)10次后結(jié)束。具體的配置過程和IAR程序代碼如下:

注意:在USB2.0通信接121調(diào)試過程中,一定要將USB2.0固件程序下載到AT91SAM7X的F1ash中。這個過程可以通過ARM的地址重映射來完成,然后重新給USB2.0接口上電,因為只有在設備插入時上位機才檢測設備,并提示添加相應的驅(qū)動程序。如果開發(fā)人員調(diào)試的過程中只是將程序加載到RAM中,那么由于數(shù)據(jù)掉電不會保存,固件程序在下一次插入設備時就不會存在,無論在上位機添加何種驅(qū)動程序,上位機都不會接收到數(shù)據(jù),這樣就會導致整個調(diào)試過程的失敗。

3.3 USB2.0的Windows應用程序設計

上位機部分通過Visual C++6.0程序?qū)崿F(xiàn)與嵌入式硬件部分的USB通信。測試過程中,先將USB2.0固件程序下載到AT91SAM7X中,插上USB數(shù)據(jù)線,根據(jù)提示添加相應的驅(qū)動程序后直接運行設計好的Visual C++6.0程序。測試結(jié)果如圖4所示。

位機程序運行過程中首先檢查設備的連接情況,確認成功連接后開始接收USB2.0設備發(fā)送過來的數(shù)據(jù)。此處為循環(huán)10次的0~9的數(shù)字,如圖4所示,數(shù)據(jù)已經(jīng)成功傳輸?shù)搅松衔粰C端。

結(jié)語

本文設計了基于AT91SAMTX的多路USB2.0數(shù)據(jù)采集系統(tǒng),以AT91SAM7X芯片為核心實現(xiàn)了數(shù)據(jù)信號的調(diào)理變換、采集和向上位機的傳輸。由于AT91SAM7X內(nèi)置了ADC模塊和USB2.0設備接口,使得系統(tǒng)設計十分方便;同時由于無需使用大量的外擴芯片,使得硬件成本大幅降低,產(chǎn)品體積更小巧,穩(wěn)定性方面也比外擴芯片的方式有較大幅度的提升。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7334

    瀏覽量

    150089
  • 芯片
    +關注

    關注

    450

    文章

    49631

    瀏覽量

    417106
  • 數(shù)據(jù)采集

    關注

    38

    文章

    5512

    瀏覽量

    113107
收藏 人收藏

    評論

    相關推薦

    AT91SAM9263-ARM9核心模塊

    、LCD等功能,系統(tǒng)集成度高,該嵌入式核心模塊以超小體積、超低功耗、超高靈活性實現(xiàn)了高性能工業(yè)控制系統(tǒng)的核心功能,可廣泛應用于數(shù)據(jù)采集控制系統(tǒng)
    發(fā)表于 09-01 15:58

    ARM 微控制器 AT91M55800A

    AT91M55800A 概述愛特梅爾的AT91 ARM Thumb微控制器能提供8位微控制器用戶期望的32位的性能,而仍在他的嚴格的系統(tǒng)預算
    發(fā)表于 09-02 11:18

    Atmel ARM7閃存微控制器密度達64KB

      Atmel Corporation日前推出ARM7基礎閃存微控制器系列,起價低于3美元。AT91SAM7S32/64是接腳少的智能型ARM7(Smart ARM
    發(fā)表于 11-20 16:50

    超低功耗C8051F91x/0x微控制器的功能

    升能源效率的需要。針對便攜式設計和其它強調(diào)省電的嵌入式系統(tǒng),Silicon Labs的超低功耗C8051F91x/0x微控制器能大幅延長電池壽命。新推出的F
    發(fā)表于 07-29 07:43

    AT91SAM7L-EK評估套件,專為設計人員設計

    AT91SAM7L-EK,評估套件,專為設計人員設計,用于評估和開發(fā)Atmel AT91SAM7L微控制器上運行的應用程序的代碼。手持式套件配備AT91SAM7L128(128引腳LQ
    發(fā)表于 05-22 06:02

    SMART SAM4C微控制器有哪些應用?

    愛特梅爾(Atmel)公司的SMART SAM4C微控制器系統(tǒng)級芯片解決方案,用于智能電源應用,它是基于兩個高性能的32位ARM Cortex-M4 RISC處理構(gòu)建。這些器件運行
    發(fā)表于 11-23 12:19

    AT91SAM7X256/AT91SAM7X128中文資料,

    AT91SAM7X256/128 是基于 32 位 ARM RISC 處理的系列微控制器中的一員,集成有256/128K 字節(jié)的高速 Flash 和 64/32K 字節(jié)的 SRAM 和全套外圍設備,其中包括了一個 802.3E
    發(fā)表于 03-05 09:51 ?232次下載

    Atmel新款ARM7閃存微控制器密度達64KB

        Atmel Corporation日前推出ARM7基礎閃存微控制器系列,起價低于3美元。AT91SAM7S32/64是接腳少的智能型ARM
    發(fā)表于 03-13 13:01 ?915次閱讀

    采用ARM(AT91SAM7X256)的I2C總線設備控制

      I2C總線是由Philips公司開發(fā)的2線式串行總線,由于其簡單、高效、互聯(lián)成本小而被廣泛地用于微控制器與外圍設備的連接。AT91SAM7X256是Atmel
    發(fā)表于 03-13 12:29 ?1278次閱讀
    采用ARM(AT<b class='flag-5'>91SAM7X</b>256)的I2C總線設備<b class='flag-5'>控制</b>方

    基于ARM7的圖像數(shù)據(jù)采集系統(tǒng)的研究

    為解決圖像監(jiān)控設備中圖像數(shù)據(jù)的實時采集與存取問題, 研究了一種新型圖像數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)選取基于ARM
    發(fā)表于 09-30 16:16 ?204次下載
    基于ARM<b class='flag-5'>7</b>的圖像<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>的研究

    USB2.0微控制器CY7C68013的數(shù)據(jù)采集系統(tǒng)的設計

    USB2.0微控制器CY7C68013的數(shù)據(jù)采集系統(tǒng)的設計
    發(fā)表于 01-22 14:10 ?30次下載

    關于MSP430微控制器的智能康復診療儀數(shù)據(jù)采集系統(tǒng)

    將 M SP430 系列微控制器用于智能康復診療儀的多路數(shù)據(jù)采集系統(tǒng)的設計,采用微控制器與上位機協(xié)調(diào)運行的方式 ,結(jié)合模塊化 的軟件設計,實現(xiàn)
    發(fā)表于 04-25 09:27 ?5次下載
    關于MSP430<b class='flag-5'>微控制器</b>的智能康復診療儀<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>

    基于AT91SAM7X-EK微控制器的參考設計

    View the reference design for AT91SAM7X-EK. http://www.ttokpm.com/soft/ has thousands of reference designs to help bring your project to life.
    發(fā)表于 07-09 20:24 ?1次下載
    基于AT<b class='flag-5'>91SAM7X</b>-EK<b class='flag-5'>微控制器</b>的參考設計

    基于AT91SAM7L-EK微控制器的參考設計

    View the reference design for AT91SAM7L-EK. http://www.ttokpm.com/soft/ has thousands of reference designs to help bring your project to life.
    發(fā)表于 07-09 21:04 ?2次下載
    基于AT<b class='flag-5'>91SAM7</b>L-EK<b class='flag-5'>微控制器</b>的參考設計

    AT91SAM7S128解密成功,AT91系列單片機解密

    芯片解密型號 AT91SAM9XE256? AT91SAM7X256? AT91SAM9263? AT91SAM9X35? AT91M428
    的頭像 發(fā)表于 10-13 17:15 ?2322次閱讀
    AT<b class='flag-5'>91SAM7</b>S128解密成功,AT<b class='flag-5'>91</b>系列單片機解密