国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發布時間:2010-11-17 12:10    發布者:designer
關鍵詞: AD7888 , linux , S3C2410 , spi , 驅動
串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口,它允許CPU與TTL移位寄存器、A/D或D/A轉換器、實時時鐘(RTO)、存儲器以及LCDLED顯示驅動器等外圍接口器件以串行方式進行通訊。

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

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,掉電狀態下為3uW。可以選擇多種電源管理模式(包括數據轉換后自動處于掉電模式),與多種串行接口兼容(SPI/QSPI/MICOWIRE/DSP)。AD7888可廣泛應用于電池供電系統(個人數字助理、醫療儀器、移動通信)、儀表控制系統和高速調制/解調器等領域。該器件采用16腳SOIC和TSSOP外形封裝,外形及引腳定義見圖1和表1。





圖1 AD7888的引腳圖





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





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

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





圖2串行接口時序圖

2 S3C2410的主要功能

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

S3C2410被設計用于手持設備以及普通的嵌入式應用的集成系統,為了降低整個系統的成本,S3C2410還包括下面的部分:LCD控制器(STN&TFT)、NAND Flash引導裝入程序、系統管理(片選邏輯和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口,可以實現串行數據的傳輸。每個SPI接口各有2個移位寄存器分別負責接收和發送數據。在傳送數據期間,發送數據和接收數據是同步進行的,傳送的頻率可由相應的控制寄存器設定。如果只想發送數據,則接收數據為啞元;如果只想接收數據。則需發送啞元“0xff”。SPI接口共有4個引腳信號:串行時鐘SCK(SPICLK0,1)、主入從出MISO(SPICLK0,1)和主出從入MOSI(SPIMOSI0,1)數據線、低電平有效引腳/SS(nSSO,1)。

S3C2410的SPI接口具有如下特點

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

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

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

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

3 接口與驅動

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





圖3 AD7888與S3C2410的連接圖

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

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

void Init_SPI(void)
{
int i;
rSPPRE0=0x32;
rSPCON0=0x1e;
for(i=0;i<10;i++)
rSPTDAT0=0xff;
rGPECON |=0x0a800000;
rGPECON&=("0x05400000);
rGPEUP |=0x3800;
//GPH5----->CS
rGPHCON |=0x0400;
rGPHCON&=("0x0800);
rGPHUP&=("0x20);
rGPHDAT |=0x20;
}

(2)ad_wr()寫入要求A/D轉換的通道

static ssize_t ad_wr(struCt file *file,const char *bur,size_t count,loft_t *offset)
{
int ret="0";
int i="0";
dbuf="kmalloc"(count *sizeof(unsigned char),GFP_KERNEL);
copy_from_user(dbuf,bur,count);
for(i=0;i
本文地址:http://m.qingdxww.cn/thread-39959-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天色天天色天天色| 日本福利视频网站| 亚洲成人网导航| 色欲午夜无码久久久久久| 中文字幕亚洲无限码| 亚洲一级在线| 日本一区中文字幕| 日韩欧美一区黑人vs日本人| 性欧美长视频| 小苹果日本在线观看| 重口绿帽小说1一9| 国产在线精品亚洲| 视频一区国产精戏刘婷30| 亚洲欧美日韩中文不卡| 青草草在线| 天天天干干干| 亚洲网站视频| 把英语老师强奷到舒服动态图| 久久综合色一综合色88中文| 亚洲成A人片在线观看中文不卡| 亚洲福利在线观看| 色伊人久久| 四虎影视免费永久在线观看| 一二三四国语在线观看| 国产二区自拍| 丝瓜视频樱桃视频在线观看免费 | 一本道dvd久久综合高清免费| 视频一区中文字幕| 四虎自拍| 校花被扒开尿口折磨憋尿| 国产电影三级午夜a影院| 亚洲乱码国产一区三区| 亚洲欧美中日韩中文字幕| 日韩三级伦理在线| 四虎影院免费在线播放| 成a人片亚洲日本久久| 男生插曲女生身全过程| 欧美一区高清| 欧美一区网站| 亚洲91| 玉足调教|