當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]本文闡述了利用CYPRESS公司EZ-USB FX2系列USB2.0集成芯片CY7C68013的高速Slave FIFO通用外部接口來(lái)實(shí)現(xiàn)PC機(jī)和LED點(diǎn)陣顯示屏間數(shù)據(jù)通訊的設(shè)計(jì)方案,給出了其接口電路的硬件原理及底層軟件的設(shè)計(jì)過程。

    摘要:本文闡述了利用CYPRESS公司EZ-USB FX2系列USB2.0集成芯片CY7C68013的高速Slave FIFO通用外部接口來(lái)實(shí)現(xiàn)PC機(jī)和LED點(diǎn)陣顯示屏間數(shù)據(jù)通訊的設(shè)計(jì)方案,給出了其接口電路的硬件原理及底層軟件的設(shè)計(jì)過程。

    關(guān)鍵詞:USB2.0;CY7C68013;FIFO;LED顯示

1 引言

LED顯示屏具有亮度高,故障低、能耗少、使用壽命長(zhǎng)、顯示內(nèi)容多樣、顯示方式豐富等優(yōu)點(diǎn),可廣泛用于公路、金融、證券、車站、碼頭、體育場(chǎng)館等公共場(chǎng)合,其顯示數(shù)據(jù)通常來(lái)自上位PC機(jī),這就要求有一個(gè)高速通道來(lái)傳輸大量的顯示數(shù)據(jù),USB2.0接口無(wú)疑是一個(gè)很好的解決方案。

USB由總線提供電源,傳輸時(shí)具有CRC檢錯(cuò)、糾錯(cuò)能力,能實(shí)現(xiàn)真正的實(shí)時(shí)熱插拔,并支持多個(gè)外設(shè)連接到同一個(gè)連接器上,從而緩解PC系統(tǒng)資源沖突,這些突出的優(yōu)點(diǎn)使得USB1.x在PC機(jī)外部設(shè)備上得到了廣泛的應(yīng)用, USB2.0傳輸速度高達(dá)480Mb/s,是USB1.x的40倍,并向下兼容USB1.x。這樣就使得快速大量的數(shù)據(jù)傳輸?shù)靡詫?shí)現(xiàn)。

在此強(qiáng)調(diào)一下兩個(gè)下文將要用到的概念:IN端點(diǎn)和OUT端點(diǎn)。此處的IN、OUT都是相對(duì)于上位PC機(jī)而言,IN端點(diǎn)指用來(lái)接收上位PC機(jī)數(shù)據(jù)的端點(diǎn),OUT端點(diǎn)則是往PC機(jī)發(fā)送數(shù)據(jù)的端點(diǎn)。

2?。茫伲罚茫叮福埃保澈?jiǎn)述

帶高速Slave FIFO通用外部接口的CY7C68013是CYPRESS公司推出的USB2.0集成微處理芯片,片上集成了USB收發(fā)器(SIE)、增強(qiáng)型8051單片機(jī)(其指令系統(tǒng)與普通8051單片機(jī)完全兼容)及8k程序存儲(chǔ)區(qū)? 共有4個(gè)支持USB2.0高速傳輸?shù)摹按蟆倍它c(diǎn)(2個(gè)IN端點(diǎn)和2個(gè)OUT端點(diǎn))和4kB片內(nèi)RAM?該RAM 可配置為4個(gè)“大”端點(diǎn)的FIFO,其中2個(gè)“大”端點(diǎn)可以配置為雙、三、四緩沖區(qū)(FIFO),一個(gè)“大”端點(diǎn)最大可配置為2kB FIFO,更重要的是?該芯片提供了兩個(gè)用于實(shí)現(xiàn)USB2.0高速傳輸?shù)目删幊掏獠吭O(shè)備接口以及Slave FIFO和GPIF,這2個(gè)通用外部接口可通過與4個(gè)“大”端點(diǎn)協(xié)調(diào)工作來(lái)實(shí)現(xiàn)USB2.0的高速傳輸,本文只討論 Slave FIFO可編程外部設(shè)備接口的應(yīng)用。

CY7C68013有56pin、100pin、128pin三種封裝,其中56pin已具備所有USB2.0功能,而100pin則在56pin基礎(chǔ)上增加了更多I/O和更多GPIF模式下的控制信號(hào),128pin又在100pin基礎(chǔ)上增加了用于擴(kuò)充數(shù)據(jù)存儲(chǔ)區(qū)的地址總線和數(shù)據(jù)總線。本應(yīng)用就是基于可編程外部設(shè)備接口Slave FIFO,大量數(shù)據(jù)傳輸可直接由FPGA處理而無(wú)需擴(kuò)充外部數(shù)據(jù)存儲(chǔ)區(qū),在此選擇最經(jīng)濟(jì)的56pin CY7C68013 即可滿足設(shè)計(jì)要求, 其體系結(jié)構(gòu)如圖1所示。

3 Slave FIFO簡(jiǎn)介

CY7C68013 雖然可以用內(nèi)置增強(qiáng)型8051單片機(jī)直接處理USB2.0數(shù)據(jù),但這樣會(huì)受到單片機(jī)速度的限制而無(wú)法實(shí)現(xiàn)USB2.0的高速傳輸。通常為了解決這一矛盾,可使CY7C68013的片上增強(qiáng)型8051單片機(jī)僅用于輔助處理USB設(shè)備請(qǐng)求和設(shè)備列舉以及協(xié)調(diào)內(nèi)部“大”端點(diǎn)和外部數(shù)據(jù)處理設(shè)備(如 FPGA,ASIC? DSP,IDE等)的工作,這樣USB數(shù)據(jù)流就可繞過慢速的8051單片機(jī)而直接從“大”端點(diǎn)FIFO進(jìn)入快速外部主設(shè)備或從外部主設(shè)備進(jìn)入“大”端點(diǎn)FIFO,以實(shí)現(xiàn)USB2.0高速傳輸。由于CY7C68013“大”端點(diǎn)FIFO的讀寫是受外部數(shù)據(jù)處理設(shè)備控制的,所以這些FIFO稱為 Slave FIFO,上述這種實(shí)現(xiàn)USB2.0高速傳輸?shù)哪J椒Q為 Slave FIFO模式。

4 CY7C68013固件程序設(shè)計(jì)

為方便應(yīng)用開發(fā),CYPRESS 公司為CY7C68013所屬的EZ-USB FX2系列提供了免費(fèi)下載的Keil C環(huán)境下的USB固件庫(kù),以及C51編寫的固件構(gòu)架程序和一些典型應(yīng)用的范例程序,這使得開發(fā)者只需理解USB數(shù)據(jù)傳輸原理,而不用鉆入艱深的USB底層協(xié)議就可完成開發(fā),從而大大縮短開發(fā)時(shí)間,以便把更多的精力放在外部接口設(shè)計(jì)上。

    下面僅就固件程序設(shè)計(jì)進(jìn)行論述,整個(gè)固件應(yīng)用程序通常包含3個(gè)程序文件:

DSCR.A5——設(shè)備描述符表文件,該文件詳細(xì)記錄了USB外圍設(shè)備的相關(guān)信息,這里需要注意的是設(shè)備描述符和端點(diǎn)描述符。設(shè)備描述符給出了USB的一般信息,其中VID/PID 碼十分重要,上位PC機(jī)根據(jù)這個(gè)碼值才能正確加載USB應(yīng)用設(shè)備驅(qū)動(dòng)程序。至于端點(diǎn)描述符,每個(gè)端點(diǎn)都有,上位PC機(jī)根據(jù)端點(diǎn)描述符的內(nèi)容來(lái)決定每個(gè)端點(diǎn)的帶寬要求。本設(shè)計(jì)用1個(gè)“大”端點(diǎn)EP2來(lái)接收上位PC機(jī)的顯示數(shù)據(jù);另用一個(gè)“小”端點(diǎn)EP1來(lái)處理上位機(jī)和通訊接口間開發(fā)者自定義的通訊協(xié)議,以使上位機(jī)可以在需要的時(shí)候查詢已被傳送的顯示數(shù)據(jù)的接收狀況,從而進(jìn)一步保證顯示數(shù)據(jù)的有序傳輸。

FW.C——固件構(gòu)架程序。該固件構(gòu)架程序主要用于實(shí)現(xiàn)USB設(shè)備列舉的諸多控制傳輸和USB總線協(xié)議的相關(guān)工作,完成了USB與外部兼容設(shè)備所需的基本功能。該程序的核心函數(shù) void SetupCommand?void? 稱作設(shè)備請(qǐng)求剖析器,用于處理上位PC機(jī)發(fā)送的標(biāo)準(zhǔn)USB設(shè)備請(qǐng)求以實(shí)現(xiàn)USB設(shè)置命令。

APP.C ——開發(fā)者在相關(guān)范例應(yīng)用程序的基礎(chǔ)上通過修改或增加一些應(yīng)用程序段而形成的面向?qū)嶋H的應(yīng)用程序。本應(yīng)用中主要修改了Slave FIFO的操作方式以使Slave FIFO接收數(shù)據(jù)的速度能夠達(dá)到最大值,所采用的設(shè)置方法如下:

通過寄存器EP2CFG可將EP2設(shè)置為OUT端點(diǎn)。當(dāng)需要首先考慮數(shù)據(jù)準(zhǔn)確性時(shí),可將該端點(diǎn)傳輸模式設(shè)置為批量傳輸,其最大包長(zhǎng)為512字節(jié),4緩沖區(qū)(FIFO)。而當(dāng)需要傳輸視頻數(shù)據(jù)時(shí),可將該端點(diǎn)的傳輸模式設(shè)置為同步傳輸,最大包長(zhǎng)1024字節(jié),雙緩沖區(qū)(FIFO)。

通過寄存器EP2FIFOCFG設(shè)置下面的內(nèi)容:將“大”端點(diǎn)EP2設(shè)置為16位操作模式(一次可以操作2個(gè)字節(jié))以與FD 16位寬度總線匹配; 再設(shè)置該OUT端點(diǎn)為AUTOOUT模式,這樣來(lái)自上位PC機(jī)的數(shù)據(jù)就可以不通過CY7C68013上的8051單片機(jī),而是自動(dòng)地填充相應(yīng)的“大”端點(diǎn)FIFO。

通過寄存器IFCONFIG設(shè)置這樣的工作模式:用CY7C68013產(chǎn)生48MHz IFCLK時(shí)鐘,將該時(shí)鐘作為片上SlaveFIFO與外部主設(shè)備的工作時(shí)鐘;數(shù)據(jù)的接收與發(fā)送設(shè)置為同步讀寫方式,這樣在每個(gè)IFCLK 時(shí)鐘的上升沿就可以讀寫2個(gè)字節(jié),從而使數(shù)據(jù)讀寫速度可以達(dá)到96MHz byte/s。

本設(shè)計(jì)只使用了EP2這個(gè)“大”端點(diǎn),而且 已將其配置為AUTOOUT操作模式。因此,CY7C68013可繞過片上8051而自動(dòng)將USB數(shù)據(jù)接收到EP2的FI-FO中。

需要增加的程序段是CY7C68013片內(nèi)8051單片機(jī)根據(jù)上位機(jī)查詢回應(yīng)當(dāng)前數(shù)據(jù)接收狀況,這個(gè)程序段和普通的8051單片機(jī)232串口通訊程序類似,不同的只是原來(lái)的232串行口中斷被EP1 IN和EP1 OUT這兩個(gè)USB2.0中斷所替換,當(dāng)EP1 OUT 端點(diǎn)收到上位PC機(jī)發(fā)來(lái)的數(shù)據(jù)時(shí),將產(chǎn)生EP1 OUT中斷來(lái)處理接收到的數(shù)據(jù);同樣當(dāng)CY7C68013片內(nèi)8051欲發(fā)往上位PC機(jī)的數(shù)據(jù)已通過EP1 IN發(fā)送完畢時(shí),也會(huì)產(chǎn)生EP1 IN中斷以使片內(nèi)8051可以在該端點(diǎn)放入新的發(fā)送數(shù)據(jù)。

5 硬件設(shè)計(jì)

圖2所示是FPGA與CY7C68013 的連接圖,除將IFCLK作為FPGA輸入時(shí)鐘外,其它信號(hào)均在FP-GA和CY7C68013之間互連。由于FPGA片內(nèi)RAM很小,本系統(tǒng)還使用了一片128k×8的高速靜態(tài)RAM(型號(hào)為IS63LV1024,讀寫周期為15ns)作為數(shù)據(jù)暫存器。FPGA與CY7C68013、RAM、VT6103的硬件連接見圖2。

從USB收到的來(lái)自上位PC機(jī)數(shù)據(jù)最終將被遠(yuǎn)端安裝在LED顯示屏屏體內(nèi)的顯示控制部件中,當(dāng)RAM被填入預(yù)定數(shù)量的顯示數(shù)據(jù)時(shí),FPGA?xí)模遥粒椭羞B續(xù)取出數(shù)據(jù)并送到與VT6103連接的4位數(shù)據(jù)輸出端口,VT6103收到4位數(shù)據(jù)后,其內(nèi)部會(huì)自動(dòng)按照IEEE802.3規(guī)范對(duì)該數(shù)據(jù)進(jìn)行4B5B?轉(zhuǎn)換4位數(shù)據(jù)數(shù)據(jù)碼為5位數(shù)據(jù)碼?重新編碼,然后將5B碼送擾頻器,再經(jīng)片內(nèi)整形后輸出給以太網(wǎng)變壓器,以驅(qū)動(dòng)五類雙絞線并將數(shù)據(jù)傳給遠(yuǎn)端顯示控制部件。

6 軟件設(shè)計(jì)

本系統(tǒng)的外部主設(shè)備接口邏輯采用VHDL硬件描述語(yǔ)言,利用ALTERA公司QUARTUS II開發(fā)平臺(tái)進(jìn)行設(shè)計(jì)。軟件設(shè)計(jì)是以FPGA為核心的,主要由下面3個(gè)并行執(zhí)行的部分組成,在此每個(gè)部分分別設(shè)計(jì)為一個(gè)VHDL進(jìn)程?process?:

進(jìn)程1:外部主設(shè)備FPGA同步讀寫CY7C68013“大”端點(diǎn)FIFO的時(shí)序邏輯? 并把接收到的數(shù)據(jù)存入FPGA FIFO中。這部分只需要根據(jù)Slave FIFO讀寫時(shí)序進(jìn)行設(shè)計(jì),Slave FIFO時(shí)序圖如圖3所示。

這里需要引起注意的是兩個(gè)建立時(shí)間:其一是tOEon,這個(gè)建立時(shí)間是從SLOE拉低到 Slave FIFO數(shù)據(jù)有效。其二是tSRD ,即從SLRD信號(hào)拉低到第1個(gè)同步讀時(shí)鐘上升沿的時(shí)間。這兩個(gè)建立時(shí)間應(yīng)大于等于CY7C68013數(shù)據(jù)手冊(cè)規(guī)定的時(shí)間。由于該FPGA有59904 bit的片上RAM,這里使用其中4k byte的 RAM來(lái)生成FIFO結(jié)構(gòu),這樣從Slave FIFO同步接收到的USB數(shù)據(jù)就可以直接存入FPGA片上的4k FI-FO中。圖4是此進(jìn)程的設(shè)計(jì)流程圖。

進(jìn)程2:用于完成將FPGA的FIFO中數(shù)據(jù)寫入128kB RAM的設(shè)計(jì)。只要FPGA的FIFO中有數(shù)據(jù),則該進(jìn)程啟動(dòng),FPGA?xí)B續(xù)地把片內(nèi)FIFO中取出的數(shù)據(jù)存入片外128kB的高速靜態(tài)RAM (IS63LV1024)中,這個(gè)片外的128kB RAM分為兩個(gè)64kB區(qū),兩個(gè)區(qū)輪流接收來(lái)自FPGA片內(nèi)FIFO的數(shù)據(jù),當(dāng)一個(gè)區(qū)接收完規(guī)定的顯示數(shù)據(jù)后,FPGA?xí)梦唬螅澹睿?data flag去啟動(dòng)進(jìn)程3,如果FPGA片內(nèi)FIFO中還有數(shù)據(jù),則FPGA?xí)眩遥粒颓袚Q到另一個(gè)區(qū)繼續(xù)接收片內(nèi)FIFO中的數(shù)據(jù),其設(shè)計(jì)流程圖如圖5所示。

    進(jìn)程3:此進(jìn)程由send data flag信號(hào)啟動(dòng),當(dāng)發(fā)送數(shù)據(jù)標(biāo)志被置位時(shí),此進(jìn)程啟動(dòng)。此后,FPGA開始從已完成顯示數(shù)據(jù)接收的RAM區(qū)讀取數(shù)據(jù)并送到4位寬度的數(shù)據(jù)輸出口,此輸出口與VT6103相連。VT6103以25MHz時(shí)鐘每次接收半個(gè)字節(jié)(4bit),然后經(jīng)片內(nèi)4B5B編碼、整形后將數(shù)據(jù)由差分輸出口TX+和TX-串行輸出,以把數(shù)據(jù)從USB2.0接口模塊發(fā)給外部的顯示處理模塊。其設(shè)計(jì)流程圖如圖6所示。

其中,VT6103 接收顯示數(shù)據(jù)時(shí)序如圖7所示。每次接收4bit后,芯片內(nèi)部都將自動(dòng)對(duì)每次接收到的4bit數(shù)據(jù)進(jìn)行處理并以100MHz的時(shí)鐘頻率串行差分輸出給以太網(wǎng)變壓器。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉