《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 同步隊列串行接口QSPI的研究與應用
同步隊列串行接口QSPI的研究與應用
摘要: MCU同外部設備的數據傳輸有兩種方式,一種是并行數據傳輸方式,另一種是串行數據傳輸方式。串行數據傳輸方式信號線少,協議簡單,在長距離、低速率的傳輸中得到廣泛應用,常用的有SPI、I2C、UART等串行數據傳輸協議。
關鍵詞: 接口IC 串行接口 QSPI MCU
Abstract:
Key words :

MCU" target="_blank">MCU同外部設備的數據傳輸有兩種方式,一種是并行數據傳輸方式,另一種是串行數據傳輸方式。串行數據傳輸方式信號線少,協議簡單,在長距離、低速率的傳輸中得到廣泛應用,常用的有SPI、I2C、UART等串行數據傳輸協議。其中,SPI協議為Motorola公司推出的同步串行外圍接口協議,Motorola公司的低端MCU上基本都集成了SPI模塊。在SPI協議的基礎上,Motorola公司對其功能進行了增強,增加了隊列傳輸機制,推出了隊列串行外圍接口協議(即QSPI協議)。使用該接口,用戶可以一次性傳輸包含多達16個8位或16位數據的傳輸隊列。一旦傳輸啟動,直到傳輸結束都無需CPU干預,極大地提高了傳輸效率。該協議在隨后推出的ColdFire系列MCU中得到廣泛應用。

  1   QSPI模塊的結構如圖1所示。與SPI相比,QSPI結構最大的特點是以80字節的RAM取代了SPI的發送和接收數據寄存器。80字節的RAM分成3部分:16字的發送RAM,16字的接收RAM和16字節的命令RAM。這3部分形成了具有16個QSPI傳輸控制組的傳輸隊列,每個QSPI傳輸控制組由1個命令RAM、1個發送RAM和1個接收RAM組成。每個QSPI傳輸的數據長度、片選等信息可由該QSPI傳輸控制組的命令RAM單獨決定。

 

  由于SPl只有1個8位的發送數據寄存器,所以CPU每次最多只能準備一個字節的待發送數據。而QSPI擁有具有16個QSPI傳輸控制組的傳輸隊列,所以CPU每次最多可以準備16個待傳輸的數據,并且可以通過命令RAM設置每個待傳輸數據的長度。

  在QSPI模塊的QWR寄存器中,NEWQP和ENDQP域分別決定了傳輸隊列的起始點和結束點。起始點和結束點可以是16個QSPI 傳輸控制組的任意一個。當QSPI傳輸啟動時,QSPI模塊將從起始點開始依次發送準備好的數據直到結束點,整個過程無需CPU干預。典型的QSPI傳輸流程如圖2所示,其中QP為傳輸隊列指針,指向即將傳輸的數據。
 

  QSPI模塊具有7個引腳:QSPI_DIN為串行數據輸入引腳;QSPI_DOUT為串行數據輸出引腳;QSPI_CLK為串行時鐘輸出;QSPI_CS[3:0]為片選信號,通過外接譯碼器可以選擇多達16個設備。一次典型的16位QSPI傳輸時序如圖3所示。該時序假設片選信號低電平有效,時鐘空閑時為低電平,在時鐘的下降沿采樣串行數據。其中,時鐘空閑電平和采樣時鐘沿由QMR寄存器的CPOL和CPHA域決定。
 

  2  4線電阻式觸摸屏芯片ADS7843簡介

  ADS7843是一款具有同步串行接口的4線電阻式觸摸屏控制芯片,具有12位模/數轉換精度。ADS7843的4個模擬電壓輸入引腳X+、X-、Y+、Y-連接觸摸屏的4個電極,觸摸屏通過這4個引腳將觸點電壓送到ADS7843進行量化。具體來說,如果要獲取觸點Y坐標,ADS7843會在Y十和Y-之間施加一個電壓,觸點將X+與Y+和Y-間電阻網絡的一點導通,與觸點位置相關的分壓值就會通過X+送入ADS7843,通過量化這個分壓值就可以獲取觸點的Y坐標。X坐標的獲取也是相同的道理。量化臺階由基準電壓和每個樣點量化后的位數n決定,為基準電壓的1/2”。

  2.1 ADS7843工作模式

  ADS7843具有兩種工作模式:單端模式和差分模式。兩種模式的區別在于基準電壓采用了不同的構成方式。基準電壓是ADS7843內部模/數轉換模塊的正負參考電壓+REF和-REF之差。當處于單端模式時,+REF來自外部參考電壓輸入,一般選取ADS7843的供電電壓+ Vcc,-REF接地,所以基準電壓為+Vcc。假設在該模式下獲取觸點Y坐標,由于+Vcc是通過三極管施加在Y+和Y一之間,所以三極管的導通電阻始終會分去一部分電壓。這樣無論觸點在哪里,都不可能獲得滿量程。這個問題可以通過工作在差分模式解決。在該模式下,當要獲取觸點Y坐標時,芯片內部自動將Y+與+REF相連,Y-與-REF相連,這樣Y+與Y-之間的電壓始終為基準電壓,消除了三級管導通電阻的影響。

  2.2 ADS7843的數字接口

  ADS7843的數字接口包括片選CS、串行數據輸入DIN、串行數據輸出DOUT、時鐘輸入DCLK、中斷信號PENIRQ五個引腳,能與具有串行接口的微控制器或數字信號處理器進行數據交換。處理器與ADS7843之間需要24個串行時鐘周期才能完成一次完整的轉換。前8個時鐘周期用于向ADS7843提供一個控制字節,該控制字節組成如下:
 

  S位為“1”時表明控制字節的開始;A[2:0]用于選擇量化通道,“001”選擇X通道,“101”選擇Y通道;MODE位為“1”時選擇8位量化精度,為“0”時選擇12位量化精度;SER/DFR位為“1”時選擇單端模式,為“0”時選擇差分模式;PD[1:0]用于選擇一種省電模式。控制字傳輸完后,接下來的16個時鐘周期用于傳輸量化后的坐標數據。

  ADS7843數字接口還有以下特點:片選低電平有效,時鐘空閑時為低電平,時鐘的上升沿采樣串行數據。

  3 基于ColdFire處理器QSPI接口的觸摸屏驅動設計

  3.1 硬件電路

  觸摸屏控制芯片ADS7843與ColdFire系列處理器的硬件連接圖如圖4所示。
 

  ADS7843數字接口的4個引腳與COLDFire處理器QS-PI模塊對應引腳相連,中斷信號引腳PENIRQ與處理器外部中斷引腳IRQ4相連。注意,需要10kΩ上拉電阻。

  3.2 軟件設計

  從觸摸發生到獲取觸摸點坐標的過程如下:觸摸發生時,ADS7843會通過PENIRQ引腳觸發一個中斷,在中斷子程序中首先應延遲10~20 ms以去除抖動帶來的影響,然后向ADS7843發送控制字獲取X、Y坐標。
獲取一個坐標的值需要向ADS7843輸入24個時鐘周期。對QSPI模塊來說,可以把這24個周期作為3次8位的傳輸隊列,或1次8位、1次16位的傳輸隊列。這里選擇3次8位傳輸隊列的方式。QSPI初始化代碼如下:
 

  其中,QSPI_QMR和QSPI_QWR為QSPI寄存器QMR和QWR的地址。獲勝X坐標函數代碼如下:
 

  獲取Y坐標函數代碼同獲取X坐標函數代碼基本一致,只需要將發送給ADS7843的控制命令修改為0xD0,表示選擇Y通道,12位精度,差分模式。

  為觀察QSPI模塊與ADS7843是否能正確地進行通信,使用Agilent1673G邏輯分析儀對4個引腳的時序進行了捕捉。圖5顯示了讀取X坐標時的時序圖,4個引腳從上到下依次是片選CS、串行時鐘DCLK、串行數據輸入DIN、串行數據輸出DOUT。從圖中可以清楚地看到,在前8個時鐘周期,處理器向ADS7843輸入了控制字;在第10個時鐘處,ADS7843開始輸出12位的量化數據;最后3個時鐘,ADS7843將輸出線拉低。
 

  結 語

  本文分析了一種改進的SPI傳輸接口QSPI的工作機制,并通過QSPI模塊與觸摸屏控制芯片ADS7843通信的實例闡述了該模塊的典型應用。QSPI模塊的隊列機制加快了數據傳輸速度,減少了CPU的干預。除此之外,該模塊提供了對時鐘有效電平、采樣沿、片選電平、傳輸數據位數等的自由配置,使其能靈活地與各種具有串行接口的設備進行通信。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 一级一片免费视频播放 | 最刺激黄a大片免费观看下截 | 日韩欧美二区在线观看 | 午夜在线播放免费人成无 | 99视频有精品视频免费观看 | 免费国产a国产片高清 | 鸥美一级黄色片 | 中文字幕一区二区三区永久 | 成年美女黄网色大观看全 | 亚洲日本在线播放 | 欧美又黄又嫩大片a级 | 成人午夜在线观看国产 | 久久国产成人 | 五月婷婷综合在线视频 | 人人爱天天做夜夜爽 | www大片| 欧美成人免费观看国产 | 欧美激情视频免费 | 久久香蕉综合精品国产 | 国产国产成人精品久久 | 1024手机在线观看 | 天天摸天天爽天天澡视频 | 真人一级毛片免费完整视 | 精品日韩欧美一区二区三区 | 性欧美free| 日韩一中文字幕 | 日本老年人精品久久中文字幕 | 性亚洲无删减 | 伊人91在线| 全部免费特黄特色大片视频 | 九色欧美| 中国女人一级毛片 | 国产欧美日韩亚洲 | 中文字幕一区日韩在线视频 | 日一区二区三区 | 中国大陆高清aⅴ毛片 | 男女在线播放 | 国产久爱青草视频在线观看 | 激情综合亚洲 | yy4138殇情理论片一级毛片 | 日韩一区二区三区四区区区 |