<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AD7888與S3C2410的SPI接口及Linux下嵌入式驅動的實

          AD7888與S3C2410的SPI接口及Linux下嵌入式驅動的實

          作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

          串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口,它允許CPU與TTL移位寄存器、A/D或D/A轉換器、實時時鐘(RTO)、存儲器以及LCD和LED顯示驅動器等外圍接口器件以串行方式進行通訊。

          本文引用地址:http://www.ex-cimer.com/article/201609/303689.htm

          SPI總線只需3~4根數(shù)據(jù)線和控制線即可擴展具有SPI接口的各種I/O器件,其硬件功能很強,實現(xiàn)軟件相當簡單。串行A/D轉換器具有電路簡單、工作可靠的特點,而ARM芯片被設計用于手持設備以及普通的嵌人式應用的集成系統(tǒng),將上述兩種實用的芯片和SPI總線技術相結合以實現(xiàn)數(shù)據(jù)采集十分有效。

          1 AD7888的功能與使用

          AD7888是美國模擬器件公司推出的一款高速低功耗12位A/D轉換器,采用2.7~5.25 V單電源供電,最大通過率可達到125 kSPS。AD7888的輸入采樣/保持電路在500 ns內獲取一個信號,采用單端采樣模式,包含8個單端模擬輸入,模擬輸入電壓從0到VREF。AD7888有2.5 V的片內基準電壓,也可以使用外部基準電壓,范圍從1.2 V到VDD。CMOS制造工藝確保了低功耗,正常工作時為2 mW,掉電狀態(tài)下為3uW。可以選擇多種電源管理模式(包括數(shù)據(jù)轉換后自動處于掉電模式),與多種串行接口兼容(SPI/QSPI/MICOWIRE/DSP)。AD7888可廣泛應用于電池供電系統(tǒng)(個人數(shù)字助理、醫(yī)療儀器、移動通信)、儀表控制系統(tǒng)和高速調制/解調器等領域。該器件采用16腳SOIC和TSSOP外形封裝,外形及引腳定義見圖1和表1。

          圖1 AD7888的引腳圖

          AD7888的控制寄存器是8位只寫寄存器。數(shù)據(jù)在SCLK的上升沿從DIN引腳載人,同時獲取外部模擬量轉換的結果。每次數(shù)據(jù)的傳輸需要準備16個連續(xù)時鐘信號。只有在片選信號下降之后的前8個時鐘脈沖的上升沿提供的信息裝入控制寄存器。

          圖2顯示了詳細的串行接口時序圖,串行時鐘提供了轉換時序,且控制AD7888轉換信息的輸入輸出。CS初始化數(shù)據(jù)傳送和轉換處理。在其下降沿之后的1.5個時鐘周期開始采樣輸入信號,這段時間表示為tACQ(獲取時間)。整個轉換過程還需要14.5個時鐘周期來完成,這段時間表示為 tCONVERT(轉換時間)。

          從AD7888獲取數(shù)據(jù)的整個轉換過程需要16個時鐘周期。CS上升沿之后,總線返回高阻狀態(tài)。如果CS繼續(xù)保持低電平,則準備新一輪的轉換。進行采樣的輸入通道的選擇是提前寫入控制寄存器的,因此在轉換時,用戶必須提前寫入以備通道的轉換。也就是說,在進行當前轉換時,用戶就必須提前寫入通道的地址以備下次轉換使用。

          圖2串行接口時序圖

          2 S3C2410的主要功能

          S3C2410是三星公司推出的采用RISC結構的16/32位微處理器。它基于ARM920T內核,采用五級流水線和哈佛結構,最高頻率可達203 MHz,是高性能和低功耗的硬宏單元。ARM920T具有增強ARM體系的MMU(支持WinCE,EPOC 32和Linux)、16kB的指令和數(shù)據(jù)高速緩存以及高速AMBA總線接口。

          S3C2410被設計用于手持設備以及普通的嵌入式應用的集成系統(tǒng),為了降低整個系統(tǒng)的成本,S3C2410還包括下面的部分:LCD控制器 (STNTFT)、NAND Flash引導裝入程序、系統(tǒng)管理(片選邏輯和SDRAM控制器)、3通道UART,4通道DMA、4通道PWM時鐘、I/O口、RTC、8通道10位ADC及觸摸屏接口、IIC總線接口、IIS總線接口、USB主口和USB設備口、SD主口和多媒體卡接口、2通道SPI和2通道PLL。

          S3C2410有2個SPI口,可以實現(xiàn)串行數(shù)據(jù)的傳輸。每個SPI接口各有2個移位寄存器分別負責接收和發(fā)送數(shù)據(jù)。在傳送數(shù)據(jù)期間,發(fā)送數(shù)據(jù)和接收數(shù)據(jù)是同步進行的,傳送的頻率可由相應的控制寄存器設定。如果只想發(fā)送數(shù)據(jù),則接收數(shù)據(jù)為啞元;如果只想接收數(shù)據(jù)。則需發(fā)送啞元“0xff”。SPI接口共有4個引腳信號:串行時鐘SCK(SPICLK0,1)、主入從出MISO(SPICLK0,1)和主出從入MOSI(SPIMOSI0,1)數(shù)據(jù)線、低電平有效引腳/SS(nSSO,1)。

          S3C2410的SPI接口具有如下特點

          (1)兼容SPI協(xié)議(ver.2.11);

          (2)有分別用于發(fā)送和接收的8位移位寄存器;

          (3)有設定傳送頻率的8位寄存器;

          (4)有輪詢、中斷和DMA三種傳送模式。

          3 接口與驅動

          根據(jù)S3C2410的SPI特點及AD7888的工作原理確定其接口如圖3所示。

          圖3 AD7888與S3C2410的連接圖

          為了實現(xiàn)S3C2410和AD7888在嵌入式Linux下的高速A/D轉換,還編寫了兩者接口的驅動程序,該驅動程序功能的實現(xiàn)主要由以下幾個函數(shù)完成。

          (1)Init_SPI()完成SPI的初始化

          void Init_SPI(void)

          {

          int i;

          rSPPRE0=0x32;

          rSPCON0=0x1e;

          for(i=0;i10;i++)

          rSPTDAT0=0xff;

          rGPECON



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();