《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > TMS320C5402與MAX1270的SPI接口設計與實現
TMS320C5402與MAX1270的SPI接口設計與實現
劉文良,高 山,王 杰
摘要: 根據MAXIM公司的12位串行模數轉換芯片MAX1270及TI公司TMS320C5402 DSP的多通道緩沖串口(McBSP)的工作原理,設計了高速傳輸通道,采用McBSP的SPI(Series Protocol Interface)工作模式,將McBSP與MAX1270直接相連,不需要占用并行數據總線,避免了總線沖突。給出了MAX1270與TMS320C5402的McBSP的接口電路及軟件編程實現。
Abstract:
Key words :

  摘  要: 根據title="MAXIM">MAXIM公司的12位串行模數轉換芯片MAX1270及TI公司TMS320C5402 DSP的多通道緩沖串口(McBSP)的工作原理,設計了高速傳輸通道,采用McBSP的SPI(Series Protocol Interface)工作模式,將McBSP與MAX1270直接相連,不需要占用并行數據總線,避免了總線沖突。給出了MAX1270與TMS320C5402的McBSP的接口電路及軟件編程實現。
  關鍵詞: TMS320C5402;MAX1270;多通道緩沖串口;SPI

   TMS320C5402是一種具有高處理能力和低功耗特性的16位定點DSP芯片,處理能力高達100MIPS,其多功能串口McBSP(Multi-channel Buffered Serial Port)不僅可以完成標準串口的全雙工串行通信,還具有支持SPI設備、多達128個通道的數據收發能力等特性。核心電壓為1.8V,I/O電壓為3.3V,尤其適合于便攜式設備。MAX1270是8通道、多量程雙極性輸入、串行輸出、逐次逼近型12位AD轉換器。支持SPI/QSPI和MICROWIRE等多種接口方式,可方便地與各種微控制器直接級聯。
1 MAX1270原理
1.1 MAX1270引腳功能

  MAX1270引腳分布如圖1所示。

 

  各引腳功能如下:1-VDD:+5V電源輸入;2,4-DGND:數字地;5-SCLK:串行時鐘輸入,為串口數據的輸入輸出提供移位時鐘;6-:片選輸入端,低電平有效,當為高時,DOUT呈高阻狀態;7-DIN:串行數據輸入引腳,從該引腳寫入控制字;8-SSTRB:轉換完成指示引腳,在不同的時鐘模式下,該引腳的高低電平變化反映轉換是否完成;10-DOUT:串行數據輸出引腳,用來輸出轉換結果;方法:掉電模式控制輸入端,低電平有效,正常工作模式下置高;12-AGND:模擬地;13~20-CH0~CH7:模擬信號輸入端;21-REFADJ,參考電壓輸出/外部調節輸入;23-REF,參考電壓緩沖輸出/ADC的參考輸入。
1.2 MAX1270的控制字
  MAX1270的控制字如表1所示。


  其中PD0、PD1為時鐘模式選擇位,其取值與相對應的功能如表2所示。


  在外部時鐘模式下,串行數據的輸入、輸出和數據的采樣保持、轉換全部由SCLK輸入的外部時鐘所控制。在內部時鐘模式下,數據的轉換時鐘由芯片內部產生,從而減輕了外部微控制器的負荷,提高了工作效率。本文所設計的系統就是工作在內部時鐘模式下,由DSP提供2MHz的時鐘。由于DSP的收發寄存器為16位,故采用16個時鐘周期轉換一個數據的工作時序,使得每次轉換只需分別讀寫一次寄存器,大大簡化了軟件的設計。在此模式下,轉換速率可達到43ks/s。
 RNG、BIP兩位決定了模擬電壓的輸入極性和范圍,其取值與相對應的功能如表3所示。


  MAX1270具有軟件可編程極性選擇功能,只需要寫相應控制字就可輕松實現,這一特點降低了輸入電路設計的復雜性。對于單極性輸入,轉換結果為12位二進制碼;對于雙極性輸入,轉換結果為12位二進制補碼。只要把存儲轉換結果的變量定義為有符號整數類型(signed int)就可正確讀取結果。
  SEL2、SEL1、SEL0為模擬通道選擇位,其取值與相對應功能如表4所示。


  START位為控制字的開始位,在CS低電平期間標志著8位控制字的開始,其后的控制字在SCLK作用下先高位后低位的順序由DIN輸入[2]
2 McBSP原理
  McBSP內部結構如圖2所示,包括數據通路和控制通路兩部分,并通過7個引腳與外部器件相連。

 


  各引腳功能:DX為發送引腳,與McBSP相連接;DR為接收引腳,與接收數據總線相連接;CLKX為發送時鐘引腳;CLKR為接收時鐘引腳;FSX為發送幀同步引腳;FSR為接收幀同步引腳。
  在時鐘信號和幀同步信號的控制下,接收和發送過程通過DR和DX引腳與外部器件直接通信;DSP內部對McBSP的操作是利用16位控制寄存器,通過片內外設總線進行存取控制。數據發送過程:將數據寫入數據發送寄存器DXR;然后,發送移位寄存器XSR將數據經DX引腳移出發送。數據接收過程:通過DR引腳將接收的數據移入接收移位數據寄存器RSR中;然后,將這些數據分別復制到接收緩沖寄存器RBR和DRR中;最后,由CPU或DMA控制器讀出。這個過程允許內部和外部數據通信同時進行[3]
3 TMS320C5402與MAX1270的接口設計
3.1 接口時序

  TMS320C5402的McBSp與MAX1270都支持SPI(Series Protocol Interface)總線協議。SPI總線是Motorola公司推出的三線同步接口,同步串行三線方式進行通信:一條時鐘線SCK,一條數據輸入線MOSI,一條數據輸出線MISO;用于CPU與各種外圍器件進行全雙工、同步串行通信。SPI主要特點有:可以同時發送和接收串行數據;可以當作主機或從機工作;提供頻率可編程時鐘;發送結束中斷標志。傳輸的起始由主機的時鐘信號控制,一旦檢測到主機有時鐘信號發出,主機和從機的通信就開始,分別在時鐘的不同跳變沿發送和接收數據,當主機時鐘信號結束時,通信就停止,在通信過程中從機的片選信號要保持有效。
  本文采用MAX1270內部時鐘模式下16時鐘周期的工作時序,由5402作為主機提供串行時鐘,MAX1270作為從機輸出轉換結果,其時序如圖3。


  當片選信號CS置低時,主機的串行時鐘開始發出時鐘信號,在時鐘的每個下降沿主機向DIN上寫數據,在時鐘的每個上升沿數據打入從機。在DIN上第7位控制字建立的上升沿開始采樣模擬電壓信號,并保持2個外部時鐘周期和4個內部時鐘周期,隨后在第8個控制字之后的下降沿轉換開始。轉換的過程中,SSTRB置低直到轉換完成,查詢此引腳的狀態可判斷轉換是否完成,同時為了去除噪聲干擾,在轉換過程中應保持高電平直到轉換完成。轉換完成后,12位轉換結果由高到低由從機輸出到DOUT上,并在每個時鐘的上升沿打入主機,從而得到轉換結果。
  由圖3的時序圖可以看出,每次轉換都必須寫入控制字,相鄰兩次轉換的控制字之間間隔16個時鐘周期,兩次轉換結果同樣間隔16個時鐘周期,而且如果在第一次讀取結果的D3位同時在DIN上寫入下一次的控制字,在下個周期到來時就可以直接讀取結果而不用在等待一個空周期。這樣可以充分利用SPI總線的特點,在一個周期內主機寫DIN讀DOUT,而從機寫DOUT讀DIN。由于McBSP的DXR(發送寄存器)和DDR(接收寄存器)都是16位的,故選擇了16個時鐘周期的工作時序與之相匹配。
3.2 接口電路
  根據McBSP的引腳特性和上述時序分析,設計了如圖4的接口電路。


  5402作為主機通過Mcbsp0的時鐘輸出引腳BCLKX0給MAX1270提供串行時鐘,通過幀輸出引腳BFSX0選通MAX1270,通過BDX0引腳寫入控制字。同時,通過BDR0引腳接收轉換結果,并把BCLKR1設置成通用I/O與MAX1270的SSTRB引腳相連,通過查詢此引腳的狀態來判斷轉換是否完成。
  由于5402的I/O管腳電壓為3.3V,而MAX1270的I/O管腳電壓則為5V,因此在MAX1270向5402傳輸的方向上加了一片電平轉換芯片74LVC4245A,把5V的TTL電平轉換成3.3V的TTL電平,以避免5402無法承受高于3.3V的電壓而燒毀芯片。
3.3 軟件設計
  軟件設計分為初始化和數據傳輸兩大部分。
  初始化部分包括5402的初始化和McBSP的初始化,其中5402的初始化是對系統上電復位后對DSP的整個工作壞境的基本設置,包括對系統時鐘、處理器工作方式、存儲器分配、中斷、外設等待狀態等的設置。而對McBSP的初始化則是軟件設計的核心,其步驟如下:
  (1)禁止McBSP0發送器發送,接收器接收。
  (2)設置5402為SPI主機模式,串行時鐘采用5402主時鐘的50分頻,在時鐘的上升沿接收數據,在時鐘的下降沿發送數據,接收數據為右對齊高位補零格式。
  (3)設置每個幀信號由DXR(數據發送寄存器)向XSR(發送移位寄存器)復制數據時產生,接收和發送都為單項幀,每幀一個數,每個數16位。
  (4)使能McBSP0接收器,發送器。
  (5)等待兩個時鐘周期,保證內部信號同步,接收器和發送器激活[1]
  數據傳輸部分完成控制字的寫入和轉換結果的保存,其步驟如下:
  (1)向DXR中寫入控制字,查詢發送控制字狀態,確認發送完成。
  (2)查詢SSTRB狀態,確認轉換完成。
  (3)查詢接收控制字狀態,確認接收完成,從DRR中讀出轉換結果。
  (4)循環執行上述步驟。
  軟件基本流程如圖5所示。

3.4 實驗結果
  圖6為采集由信號發生器產生的1kHz的正弦波的結果。其中橫坐標為連續時間段內采集數據的序號,縱坐標為轉換后的數字量結果。由圖可以看出,采集的數字量很好地復現了模擬電壓波形。而實際上,圖中一個周期的正弦波之間是43個點,說明了對于1kHZ的正弦波,每周期采樣43次,由此可知采樣率達到了43kHz。這與MAX1270內部時鐘工作模式的最大采樣率完全一致,而且可以實現雙極性采樣,證明了本設計在實踐中是可行的。

  本文詳細介紹了MAX1270與TI公司的16位高性能定點DSP TMS320C5402之間的SPI接口設計和編程實現。實現了MAX1270真正的SPI接口,并達到了最大內部轉換速率43kHz。基于SPI接口的特點使得電路設計十分簡潔,軟件編程采用C語言完成,通俗易懂且可移植性強,已經應用在光柵信號的采集、細分與辯向系統中,有一定的實用性。

參考文獻
[1] 張勇.C/C++語言硬件程序設計[M].西安:西安電子科技大學出版社,2003.
[2] MAXIM Corp,MAX1270/MAX1271 Data Sheet[Z],2004.

[3] 汪安民,陳明欣,朱明.TMS320C54xx實用技術[M].北京:清華大學出版社,2007.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品国产一区二区三区| 亚洲调教视频在线观看| 亚洲黄色免费| 韩国视频理论视频久久| 国产欧美一区二区三区在线看蜜臀 | 国产精品美女在线观看| 欧美日韩一区二区在线视频 | 亚洲九九爱视频| 亚洲国产高潮在线观看| 久久精品国产免费| 欧美在线观看视频| 久久精品毛片| 久久国产综合精品| 久久精品亚洲一区| 亚洲国产一区二区三区在线播| 久久国产毛片| 亚洲高清网站| 亚洲精品国产欧美| 亚洲精品一区二区三区樱花 | 亚洲天堂成人在线观看| 亚洲午夜在线观看| 午夜精品一区二区三区在线播放| 亚洲欧美综合| 久久不见久久见免费视频1| 久久av二区| 另类图片国产| 欧美黑人多人双交| 欧美日韩亚洲高清一区二区| 欧美日韩一卡| 国产日韩欧美| 在线播放日韩| 亚洲美女精品一区| 亚洲一区二区毛片| 欧美一区三区三区高中清蜜桃| 久久精品国产一区二区三| 91久久中文| 亚洲午夜av| 欧美一区二区三区男人的天堂| 久久国产精品久久久久久久久久| 久久久久九九视频| 欧美大片免费久久精品三p| 欧美精品一区二区在线观看| 欧美系列电影免费观看| 国产日产精品一区二区三区四区的观看方式 | 欧美亚洲网站| 美国十次成人| 欧美日韩亚洲一区二区三区四区 | 国产欧美日韩高清| 伊人婷婷久久| 亚洲六月丁香色婷婷综合久久| 亚洲丝袜av一区| 久久黄金**| 一区二区三区色| 欧美在线亚洲在线| 女主播福利一区| 午夜一级在线看亚洲| 亚洲精品乱码久久久久| 欧美一级成年大片在线观看| 亚洲激情小视频| 亚洲免费一级电影| 久热这里只精品99re8久| 欧美精品在线观看一区二区| 国产精品免费aⅴ片在线观看| 国产又爽又黄的激情精品视频| 亚洲国产日韩欧美一区二区三区| 亚洲视频一区二区在线观看| 欧美在线视频二区| 一区二区三区日韩精品| 久久午夜影视| 国产精品久久久久久久久免费桃花| 黄色成人小视频| 中国av一区| 亚洲黄色影院| 欧美有码视频| 欧美日韩理论| 在线高清一区| 亚洲欧美精品在线观看| 亚洲精品日韩一| 久久国产精品第一页| 欧美日韩免费一区二区三区视频| 国产一区二区三区久久久 | 亚洲日韩欧美视频| 欧美在线日韩在线| 亚洲女女做受ⅹxx高潮| 免费看黄裸体一级大秀欧美| 国产精品一区三区| 日韩网站在线看片你懂的| 久久精品人人做人人综合 | 欧美日韩国产一区精品一区| 国产伦精品免费视频| 亚洲欧洲一区二区天堂久久| 国产视频一区三区| 亚洲精品日本| 亚洲国产日韩欧美在线动漫| 欧美在线视频导航| 欧美午夜一区二区三区免费大片| 在线精品视频一区二区| 午夜宅男欧美| 亚洲欧美日韩国产综合| 欧美日韩综合视频网址| 91久久精品美女高潮| 久久精品五月婷婷| 久久久国产精品一区二区三区| 国产精品毛片高清在线完整版| 亚洲精品一区二区三区av| 91久久夜色精品国产网站| 久久婷婷国产综合尤物精品| 国产麻豆综合| 亚洲欧美另类在线观看| 亚洲综合清纯丝袜自拍| 欧美日韩亚洲91| 亚洲精一区二区三区| 亚洲精品日日夜夜| 免播放器亚洲一区| 激情校园亚洲| 亚洲激情欧美| 美女主播精品视频一二三四| 国内综合精品午夜久久资源| 欧美一区二区高清在线观看| 欧美影院视频| 国产欧美日韩亚洲一区二区三区| 亚洲午夜精品网| 午夜国产精品视频| 国产精品欧美激情| 亚洲永久免费| 性欧美18~19sex高清播放| 国产精品欧美在线| 亚洲嫩草精品久久| 久久激情五月丁香伊人| 国产免费观看久久黄| 午夜视频一区在线观看| 久久成人18免费网站| 国产亚洲综合在线| 亚洲成人在线网站| 欧美成人精品一区| 亚洲精品在线免费| 亚洲一区二区免费视频| 国产精品免费看久久久香蕉| 亚洲一区二区三区在线观看视频| 午夜精品一区二区三区四区| 国产欧美一区二区精品婷婷| 久久精品视频在线| 欧美风情在线| 99热这里只有精品8| 亚洲欧美另类久久久精品2019| 国产精品欧美日韩久久| 久久都是精品| 欧美激情视频网站| 一区二区三区视频在线| 久久福利毛片| 在线欧美福利| 一片黄亚洲嫩模| 国产精品视频免费| 午夜精品视频在线观看一区二区| 久久裸体视频| 亚洲国产小视频| 亚洲男女毛片无遮挡| 国产亚洲人成a一在线v站| 亚洲国产精品久久久久婷婷老年 | 亚洲综合电影一区二区三区| 久久久精品国产99久久精品芒果| 韩国精品在线观看| 亚洲精品一区中文| 国产精品高清在线| 欧美在线视频一区二区| 欧美高清一区| 亚洲伊人色欲综合网| 久热国产精品| 一区二区三区日韩在线观看| 久久久久久久久久久久久9999| 亚洲国产成人tv| 亚洲欧美制服中文字幕| 一区二区三区在线观看视频| 99视频一区| 国产美女精品| 亚洲激情一区二区| 国产精品美女| 亚洲人成人一区二区在线观看| 欧美日韩一区高清| 久久国产精品色婷婷| 欧美日韩精品| 久久www成人_看片免费不卡| 欧美女人交a| 欧美亚洲系列| 欧美日韩高清在线一区| 性欧美大战久久久久久久免费观看 | 久久精品国产69国产精品亚洲| 91久久国产精品91久久性色| 欧美一区二区三区免费看| 亚洲人成人一区二区在线观看| 久久aⅴ乱码一区二区三区| 亚洲精品乱码久久久久久日本蜜臀 | 另类天堂av| 亚洲欧美日韩在线| 欧美精选一区| 久久精品一区蜜桃臀影院| 国产精品人人爽人人做我的可爱| 亚洲国产日韩美| 国产色视频一区| 亚洲一区二区三区777|