色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于CY7C68013和MAX115芯片實現高速同步數據采集系統的應用方案

電子設計 ? 來源:電子技術應用 ? 作者:周云鋒,孫書鷹, ? 2021-06-29 17:30 ? 次閱讀

作者:周云鋒,孫書鷹,王宏

USB(Universal Serial Bus)總線是INTEL、NEC、MICROSOFT、IBM等公司聯合提出的一種新的串行總線接口規范。為了適應高速傳輸的需要,2000年4月,這些公司在原1.1協議的基礎上制訂了USB2.0傳輸協議,已超過了目前IEEE1394接口400Mbps的傳輸速度,達到了480Mbps。USB總線使用簡單,支持即插即用PnP(Plug And Play),一臺主機可串連127個USB設備。設備與主機之間通過輕便、柔性好的USB線纜連接,最長可達5m,使設備具有移動性,可自由掛接在具有USB接口的運行在Windows98/NT平臺的PC機上。USB總線已被越來越多的標準外設和用戶自定義外設所使用,如鼠標、鍵盤、掃描儀、音箱等。

結合設備檢測中數據采集的實際需要,設計了該高速同步數據采集系統。該系統最多可四路同步采樣,單通道采樣速度可達620ksps,四通道同時采樣速度可達180ksps。USB接口控制芯片采用Cypress公司FX2系列中的CY7C68013,通過對其可編程接口控制邏輯的合理設計和芯片內部FIFO的有效運用,實現了數據的高速連續采樣和傳輸。

1 基本原理

該采集系統總體框架分三部分:主機(能支持USB2.0協議的PC機)、內部包含CPU及高速緩存的USB接口控制芯片(CY7C68013)和高速同步采樣芯片(MAX115),如圖1所示。其數據傳輸分兩部分:控制信號傳輸和采集數據傳輸。控制信號方向為由主機到外設,由外設CPU控制,數據量較小;采集到的數據由外設到主機,數據量較大。為了保證較高的傳輸速度,不經過CPU。系統基本操作過程為:主機給外設一個采樣控制信號,FX2根據該信號向A/D轉換器送出相應控制信號,即采樣模式控制字;之后由A/D轉換器自主控制轉換,并將各通道采樣數據存入其片內緩存。一旦轉換完成,由A/D的完成位向FX2的可編程控制接口發讀采樣結果信號;然后由可編程接口的控制邏輯依次將各通道采樣結果從A/D的緩存讀入FX2的內部FIFO。當FIFO容量達到指定程度后,自動將數據打包傳送給USB總線。期間所有操作不需要CPU的干預。采樣過程中接口控制邏輯依次取走批量數據,在打包傳送時A/D仍持續轉換,內部FIFO也持續寫入轉換結果。只要內部FIFO寫指針和讀指針位置相差達到指定的值就立即取走數據。從而保證了同步連續高速采集的可靠性。

2 硬件部分

2.1 芯片介紹

CY7C68013屬于Cypress公司的FX2系列產品,它提供了對USB2.0的完整解決方案。該芯片包括帶8KB片內RAM的高速CPU、16位并行地址總線+8位數據總線、I2C總線、4KB FIFO存儲器以及通用可編程接口(GPIF)、串行接口引擎(SIE)和USB2.0收發器。在代碼的編寫上,與8051系列單片機兼容,且速度是標準8051的3~5倍。

CY7C68013與外設有兩種接口方式:可編程接口GPIF和Slave FIFOs。

可編程接口GPIF是主機方式,可以由軟件設置讀寫控制波形,靈活性很大,幾乎可以對任何8/16 bit接口的控制器、存儲器和總線進行數據的主動讀寫,使用非常靈活。Slave FIFOs方式是從機方式,外部控制器可象對普通FIFO一樣對FX2的多層緩沖FIFO進行讀寫。FX2的Slave FIFOs工作方式可設為同步或異步;工作時鐘為內部產生或外部輸入可選;其它控制信號也可靈活地設置為高有效或低有效。筆者在設計中采用主機方式。

MAX115是美信公司的高速多通道同步采樣芯片。含有兩組4路同步通道,共8個輸入端。采樣精度為12位,采樣模式由采樣控制字決定,可靈活地在兩組中的1~4個通道間選擇。采樣時,各通道轉換結果先存入其內部相對應的4個12bit存儲單元,各通道都轉換完后再一起取走。

2.2 電路原理及設計

考慮CY7C68013與MAX115接口時,采樣模式不同,控制波形有所差別,筆者選擇主機方式即可編程控制接口(GPIF)。

GPIF是FX2端點FIFO的內部控制器。在這種方式下,接口內核可產生6個控制輸出端(CTL0~CTL5)和9根線的地址(GADR[8:0])輸出,同時可以接收6個外部輸入(RDY0~RDY5)和2個內部輸入。FX2有4個波形描述符控制各個狀態。這些波形描述符可以動態地配置給任何一個端點FIFO。例如,一個波形描述符可以配置為寫FIFO,而另一個配置為讀FIFO。FX2的固件程序可以把這些描述符配置給四個FIFO中的任意一個,配置后,GPIF將依據波形描述符產生相應的控制邏輯和握手信號給外界接口,滿足向FIFO讀寫數據的需要。GPIF的數據總線既可以是單字節寬(8位FD[7:0])也可以是雙字節寬(16位FD[15:0])。每個波形描述符包含了S0~S6 七個有效狀態和一個空閑狀態。在每個有效狀態對應的時間段里,經過預先設置,GPIF可以做以下幾件事情:(1)驅動(使為高或低)或懸浮6個輸出控制端;(2)采樣或驅動FIFO的數據總線;(3)增加GPIF地址總線的值;(4)增加指向當前FIFO指針的值;(5)啟動GPFIWF(波形描述符)中斷。除此之外,在每個狀態,GPIF可以對以下幾個信號中任意兩個進行采樣,它們是:(1)RDYX輸入端;(2)FIFO狀態標志位;(3)內部RDY標志位;(4)傳輸計數中止標志位。把其中兩個信號相與、相或或者相異或,根據結果跳轉到其它任意一個狀態或延遲1~256個IFCLK時鐘周期。當然也可以根據輸入端的信號進行跳轉或延遲。GPIF波形描述符通常用Cepress公司的GPIF工具(GPIFTOOL)進行配置。它是一個可運行于Windows平臺的應用程序,與FX2的開發包一起發布。

在這種方式下,所有的讀寫及控制邏輯通過CY7C68013 的GPIF以軟件編程的方式實現,且控制邏輯的變換方便靈活(只需要改變接口的一個配置寄存器的值)。電路連接如圖2所示。

本數據采集系統只用到了兩個輸出控制CTL0、CTL1和一個外部輸入RDY0,它們分別接MAX115的CONVST#、WR#和INT#。數據總線用雙字節,其中FD0~FD11接MAX115的數據輸入端D0~D11,FD12和FD13接控制字輸入端的A2和A3,FD0和FD1復用做控制字輸入端的A0和A1。MAX115的采樣基準時鐘由FX2的輸出時鐘經三分頻得到,為16MHz。對應四種數據傳輸方式(八種不同的采樣模式),GPIF的控制及握手信號波形有所不同。四通道同步采樣的時序圖如圖3所示。

在第一個判決點,若采樣數據已準備就緒,MAX115傳給GPIF一個負脈沖信號RDY0;根據此信號,波形按順序轉入2、3、4、5狀態,使指向內部FIFO的指針在每個時鐘上升沿加1,依次讀取四個數據,取完數據后利用CTL0的上升沿啟動下一次采樣。若在狀態1時沒有出現負脈沖,則直接跳轉到狀態6,之后重復執行此波形描述符。

三通道同步采樣時,讀取數據的狀態只需要持續三次。其它采樣模式控制波形的設計依此類推。

2.3 固件程序設計

固件程序是指運行在設備CPU中的程序。只有在該程序運行時,外設才能稱之為具有給定功能的外部設備。固件程序負責初始化各硬件單元,重新配置設備及A/D采樣控制。固件代碼的存儲位置有三種:第一種是存在主機中,設備加電后由驅動程序把固件下載到片內RAM后執行,即“重新枚舉”;第二種方法是把固件代碼固化到一片EEPROM中,外設加電后由FX2通過I2C總線下載到片內RAM后自動執行;最后一種方法是把程序固化到一片ROM中,使之充當外部程序存儲器,連在FX2三總線上。筆者選用第一種方式,這種方式便于系統的調試和升級。固件程序框圖如圖4所示。

3 用戶程序和驅動程序

3.1 驅動程序的編寫

該系統需要兩個驅動程序,即通用驅動和下載固件的驅動。通用驅動完成與外設和用戶程序的通信及控制;而下載固件的驅動則只負責在外設連接USB總線后把特定的固件程序下載到FX2的RAM中,使FX2的CPU重啟,模擬斷開與USB總線的連接,完成對外設的重新設置。主機根據新的設置安裝通用驅動程序,重新枚舉外設為一個新的USB設備。

通用驅動程序一般不需要重新編寫,用Cypress公司已經編好的驅動ezusb.sys;而下載固件的驅動則必須定做,其詳細操作過程見參考文獻[2]。

3.2 用戶程序的編寫

用戶程序是系統與用戶的接口,它通過通用驅動程序完成對外設的控制和通信。在編寫用戶程序時,首先要建立與外設的連接,然后才能實施數據的傳輸。啟動采樣后,為了保證不丟失數據,用戶程序應該建立一個新的工作線程專門獲取外設傳來的數據。程序中主要用到兩個API函數:CreateFile()和DeviceIoControl ()。CreateFile()取得設備句柄后,DeviceIoControl ()根據該句柄完成數據傳輸。程序代碼簡要如下:

hDevice = CreateFile(″\\\\。\\EZUSB-0″)

GENERIC_READ | GENERIC_WRITE

FILE_SHARE_WRITE,

NULL,

OPEN_EXISTING,

FILE_ATTRIBUTE_NORMAL,

NULL);

If (hDevice == INVALID_HANDLE_VALUE)

{

Application-》MessageBoxA(“無法創建設備,請確認設備是否連上!”,NULL,IDOK);

}

else

{

DeviceIoControl (

hDevice,

IOCTL_EZUSB_BULK_WRITE,

&blkctl,

sizeof(BULK_TRANSFER_CONTROL),

&inBuffer, //定義的數據緩沖區

sizeof(inBuffer),

&nBytes,

NULL);

……

}

程序框圖如圖5所示。

在該高速同步數據采集系統的設計中,CY7C68013芯片靈活的接口和可編程特性簡化了外部硬件的設計,提高了系統的可靠性,也利于PCB板的制作與調試。另外,USB設備的可熱插拔特性使得該系統具有便攜式的特點,使用方便,無需關機重啟或打開機箱進行安裝。該數據采集系統已成功地應用于某型。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    455

    文章

    50714

    瀏覽量

    423152
  • 數據采集
    +關注

    關注

    38

    文章

    6053

    瀏覽量

    113622
  • 總線
    +關注

    關注

    10

    文章

    2878

    瀏覽量

    88052
收藏 人收藏

    評論

    相關推薦

    求大俠幫忙 CY7C68013 與CPLD通信問題

    現在要用 CY7C68013 USB芯片 和 CPLD 做一個數據采集模塊,68013怎么和CPLD通信呢? CPLD接收AD采集過來的
    發表于 03-05 09:32

    如何利用MAX115的電網數據采集和模/數轉換對已使用多年的系統進行改進?

    MAX115的工作原理MAX115的基本操作如何利用MAX115的電網數據采集和模/數轉換對已使用多年的系統進行改進?
    發表于 04-08 06:35

    基于CY7C68013高速數據傳輸系統該如何去設計?

    本文介紹一種基于CY7C68013高速數據傳輸系統的設計方案
    發表于 06-02 06:08

    cy7c68013開發包及驅動

    本開發包及數據包提供用cy7c68013開發usb的完整C語言源代碼,可實現主機和借口MASTER的控制命令和數據的傳輸-the data
    發表于 04-11 16:54 ?674次下載
    <b class='flag-5'>cy7c68013</b>開發包及驅動

    基于CY7C68013的USB數據采集系統

    本文介紹了高速USB2.0芯片CY7C68013的特點。設計出一種主要由CY7C68013與Altera公司EP1C6
    發表于 09-14 14:33 ?133次下載

    基于USB2.0的同步高速數據采集器的設計

    摘要:介紹了一種基于USB2.0接口的同步高速數據采集的設計方案及其軟硬件的設計方法,對Cypress的USB2.0控制芯片
    發表于 03-24 12:58 ?685次閱讀
    基于USB2.0的<b class='flag-5'>同步</b><b class='flag-5'>高速</b><b class='flag-5'>數據采集</b>器的設計

    CY7C68013器件中文手冊

    CY7C68013器件中文手冊
    發表于 01-21 18:30 ?164次下載
    <b class='flag-5'>CY7C68013</b>器件中文手冊

    基于CY7C68013的CCD圖像傳輸系統

    針對面陣CCD 圖像的特點,提出了一種基于CY7C68013 的圖像實時傳輸系統系統從面陣CCD 模塊中直接獲取數字圖像信號,利用CPLD 控制圖像數據的時序,以
    發表于 05-17 17:36 ?100次下載
    基于<b class='flag-5'>CY7C68013</b>的CCD圖像傳輸<b class='flag-5'>系統</b>

    基于CY7C68013A的并口轉USB口數據采集系統設計

    設計了一個以 CY7C68013A 為接口芯片的并口轉USB口的數據采集系統,討論了CY7C68013A的性能及傳輸方式,給出了該
    發表于 08-29 14:26 ?0次下載
    基于<b class='flag-5'>CY7C68013</b>A的并口轉USB口<b class='flag-5'>數據采集</b><b class='flag-5'>系統</b>設計

    基于CY7C68013高速數據通信接口設計

    利用USB2.0接口芯片CY7C68013實現了語音信號處理系統中DSP與PC機的高速通信,簡要介紹了C
    發表于 09-08 17:59 ?69次下載

    基于USB2.0芯片CY7C68013高速數據通信接口設計

    利用USB2.0接口芯片CY7C68013實現了語音信號處理系統中DSP與PC機的高速通信,簡要介紹了C
    發表于 09-21 11:41 ?177次下載

    cy7c68013數據手冊

    cy7c68013,有需要的朋友下來看看。
    發表于 01-22 14:14 ?31次下載

    USB2.0微控制器CY7C68013數據采集系統的設計

    USB2.0微控制器CY7C68013數據采集系統的設計
    發表于 01-22 14:10 ?30次下載

    采用CY7C68013芯片系統固件程序設計

    采用CY7C68013芯片系統固件程序設計。
    發表于 01-22 14:10 ?31次下載

    基于CY7C68013A和FPGA的4路數據采集系統設計_智丹

    基于CY7C68013A和FPGA的4路數據采集系統設計_智丹
    發表于 01-13 21:40 ?26次下載
    主站蜘蛛池模板: 成 人 网 站毛片| 亚洲国产夜色在线观看| 一区一区三区产品| 丰满少妇发泄14p| 美女扒开屁股让男人桶| 亚洲高清国产拍精品5g| 丰满人妻按磨HD| 蜜芽资源高清在线观看| 亚洲午夜精品一区二区公牛电影院| 成年人视频在线免费播放| 老人FREE VIODES老少配| 亚洲成色WWW久久网站夜月| 大香网伊人久久综合观看| 末班车动漫无删减免费| 一个人免费完整在线观看影院| 国产女人毛片| 少爷被多个暗卫肉高h| yellow片高清视频免费看| 啦啦啦影院视频在线看高清...| 亚洲国产系列一区二区三区| 国产精品免费观看视频| 日韩免费一区| jlzzzjizzzjlzzz亚洲| 免费观看成人www精品视频在线| 亚洲一级特黄| 天天国产在线精品亚洲| 日本一本2017国产| 一级毛片西西人体44rt高清| 国产午夜不卡在线观看视频666| 色小说在线| 高清 仑乱 一级 a| 人妻超级精品碰碰在线97视频| 最新男同鸭子ktv| 久久亚洲精品中文字幕| 夜色资源站国产www在线视频| 国产一区在线观看免费| 无码欧美毛片一区二区三在线视频 | 俄罗斯另类Z0Z0ZOZO| 人妻夜夜爽99麻豆AV| xxxxxx日本处大片免费看| 欧美性类s0x|