當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:ISPl362是飛利浦推出的一款USB可編程控制芯片,其內(nèi)部集成了一個(gè)高級(jí)主控制器,一個(gè)外設(shè)控制器,主機(jī)和設(shè)備控制器兼容USB 2.O協(xié)議,支持12 Mb/s的全速傳輸和1.5 Mb/s的低速傳輸;芯片有三種工作模式,即主

摘要:ISPl362是飛利浦推出的一款USB可編程控制芯片,其內(nèi)部集成了一個(gè)高級(jí)主控制器,一個(gè)外設(shè)控制器,主機(jī)和設(shè)備控制器兼容USB 2.O協(xié)議,支持12 Mb/s的全速傳輸和1.5 Mb/s的低速傳輸;芯片有三種工作模式,即主機(jī)控制器模式、設(shè)備控制器模式和OTG模式。主要針對(duì)USB控制芯片ISPl362在基于FPGA紅外成像系統(tǒng)的數(shù)據(jù)采集中的應(yīng)用,利用Verilog HDL語言完成其在設(shè)備控制器模式下的功能,具有很好的可移植性。
關(guān)鍵詞:FPGA;ISP1362;USB接口;固件;Verilog HDL

O 引言
    近年來,紅外熱成像系統(tǒng)已越來越多地應(yīng)用于軍事和工業(yè)上,因此對(duì)紅外圖像的研究也成為熱點(diǎn)話題。為適應(yīng)很多實(shí)時(shí)圖像處理方法的需求,圖像處理系統(tǒng)對(duì)圖像數(shù)據(jù)采集的速度及準(zhǔn)確性的要求也越來越高。而傳統(tǒng)的接口,如ISA接口、PCI接口、PS/2接口等都是非共享式接口,不但體積龐大,而且規(guī)格不一。USB接口克服了傳統(tǒng)接口的上述缺陷,具有高速、雙向、低成本以及兼容性好、通用性強(qiáng)等優(yōu)點(diǎn),已經(jīng)在IT各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。與此同時(shí),各種型號(hào)的USB接口控制芯片也應(yīng)運(yùn)而生。ISPl362芯片以其成本低、可靠性高、功耗低以及易于擴(kuò)展等優(yōu)點(diǎn),也受到了用戶的廣泛關(guān)注。ISPl362由主機(jī)控制器、設(shè)備控制器、OTG控制器、USB收發(fā)器、OTG收發(fā)器和寄存器等組成。其中,OTG控制器主要提供包括監(jiān)控和轉(zhuǎn)換功能在內(nèi)的所有OTG控制,在OTG模式下,既可用作主機(jī),又可用作外設(shè),并支持主機(jī)通信協(xié)議(Host Neg-otiayion Protocol,HNP)和對(duì)話請(qǐng)求協(xié)議(Ses-sion Request Protocol,SRP)??紤]到以后進(jìn)一步完善系統(tǒng)的需要,設(shè)計(jì)中選用此款芯片來完成USB接口的設(shè)計(jì)。該芯片內(nèi)部沒有集成MCU,設(shè)計(jì)中采用Altera的現(xiàn)場(chǎng)可編程門陣(Field-Programmabte Gate Arrav,F(xiàn)PGA)中的EP2C70-F672C6來控制芯片的正常運(yùn)行,操作簡(jiǎn)單可靠。EP2C70F672C6具有低功耗、高密度以及低成本等優(yōu)點(diǎn),可提供4 608~68 416個(gè)邏輯單元,包括了多達(dá)150個(gè)嵌入式18×18位乘法器、專用外部存儲(chǔ)器接口電路,最高操作頻率可達(dá)到260 MHz?;谝陨显虻目紤],選用此款FPGA芯片來實(shí)現(xiàn)紅外成像系統(tǒng)中的各項(xiàng)功能。

l 紅外成像系統(tǒng)
    紅外成像系統(tǒng)的功能框圖如圖1所示。整個(gè)系統(tǒng)功能在FPGA上實(shí)現(xiàn)。系統(tǒng)上電后,F(xiàn)PGA進(jìn)行配置,紅外焦平面探測(cè)器在驅(qū)動(dòng)信號(hào)的作用下響應(yīng)紅外目標(biāo)輻射,將輻射信號(hào)轉(zhuǎn)變?yōu)槟M電壓信號(hào)輸出;A/D轉(zhuǎn)換模塊將模擬電壓信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào),經(jīng)非均勻性校正、盲元處理等過程,將數(shù)據(jù)存入FPGA外部存儲(chǔ)器中。本工作的主要任務(wù)就是把存儲(chǔ)器中的數(shù)據(jù)通過USB接口傳輸?shù)絇C機(jī),以便于根據(jù)需要對(duì)數(shù)據(jù)做進(jìn)一步的處理工作。

2 USB固件結(jié)構(gòu)設(shè)計(jì)
    USB固件結(jié)構(gòu)設(shè)計(jì)包括枚舉過程和數(shù)據(jù)傳輸過程。數(shù)據(jù)傳輸過程與枚舉過程中的in中斷的處理方法類似。因此這里主要介紹枚舉過程的固件編寫。
    枚舉過程的流程圖如圖2所示。


    枚舉過程就是主機(jī)通過向設(shè)備發(fā)送一系列請(qǐng)求來識(shí)別設(shè)備的過程。USB一共定義了11種標(biāo)準(zhǔn)USB請(qǐng)求,其中有些請(qǐng)求是必須的。例如,主機(jī)必須通過Get Descriptor請(qǐng)求來獲取設(shè)備的設(shè)備描述符、接口描述符和端點(diǎn)描述符等信息,才能識(shí)別設(shè)備;必須通過Set Address請(qǐng)求為設(shè)備分配惟一的非零地址,以便于主機(jī)識(shí)別設(shè)備并與設(shè)備進(jìn)行數(shù)據(jù)傳輸;必須通過SetConfiguration請(qǐng)求為設(shè)備分配非零的配置值等。USB請(qǐng)求只能使用控制管道來進(jìn)行傳輸。主機(jī)在沒有識(shí)別連上的是何種設(shè)備之前,會(huì)為未知設(shè)備分配一個(gè)默認(rèn)地址O,主機(jī)通過0地址與設(shè)備通信,直到主機(jī)確定真正有設(shè)備連接了之后,就會(huì)為該設(shè)備分配一個(gè)惟一的非零地址。在此之后,主機(jī)可通過這個(gè)非零地址跟設(shè)備通信,包括獲取該設(shè)備的所有配置信息、接口信息以及完成最后的數(shù)據(jù)傳輸?shù)取?br />2.1 芯片初始化
    芯片的初始化主要包括工作模式、速度的選擇以及寄存器的配置等操作。工作模式的選擇可通過設(shè)置ISPl362的第62引腳A1為高電平來實(shí)現(xiàn)。這里實(shí)現(xiàn)的是全速的數(shù)據(jù)傳輸。下面主要介紹寄存器的配置。
    ISPl362設(shè)備控制器內(nèi)部40多個(gè)寄存器。編寫代碼時(shí)的重點(diǎn)工作就是根據(jù)寄存器每一位代表的意義確定配置值,特別是有些關(guān)鍵位,只有正確配置方能保證芯片的正常工作。在使用ISPl362之前,要先配置的寄存器有模式寄存器、硬件配置寄存器、中斷使能寄存器等,端點(diǎn)配置寄存器可以在任何時(shí)刻完成,但僅在枚舉后的初始化后才有效。為了便于程序設(shè)計(jì),在一開始對(duì)模式寄存器、硬件配置寄存器、中斷使能寄存器等配置的同時(shí),也對(duì)16個(gè)端點(diǎn)配置寄存器進(jìn)行配置。端點(diǎn)0為控制端點(diǎn),包括in和out端點(diǎn),這兩個(gè)端點(diǎn)大小固定,均為64 B。枚舉過程就是通過這個(gè)端點(diǎn)進(jìn)行的。其余14個(gè)為可編程端點(diǎn),也可以被配置成雙緩沖端點(diǎn)進(jìn)一步提高吞吐量。設(shè)計(jì)中端點(diǎn)1配置為64 B雙緩沖批量in端點(diǎn);端點(diǎn)2配置為16 B中斷out端點(diǎn);端點(diǎn)3配置為16 B中斷in端點(diǎn)等;可以禁能不用的端點(diǎn)。配置模式寄存器時(shí),尤其要注意可以通過第三位來使能所有中斷。對(duì)于硬件配置寄存器,要注意中斷輸出管腳INT2的設(shè)置,這里選擇低電平有效的中斷信號(hào)模式。對(duì)這些寄存器正確配置之后,ISP1362就會(huì)進(jìn)入預(yù)期工作模式。
    由于ISP1362中需要配置的寄存器很多,因此本設(shè)計(jì)中先在FPGA生成一片16位,大小為128 B的ROM,再將需要配置的寄存器的寫命令和配置值按照順序?qū)懭隦OM中,配置時(shí),只需將ROM中的數(shù)據(jù)依次寫入芯片中即可。寄存器的配置時(shí)序如圖3所示(為便于觀察,圖3中只截取了部分寄存器的配置情況)。


    圖3中信號(hào)clk_50M為全局時(shí)鐘;ISP_Rst為芯片的復(fù)位信號(hào);ISP_CS,ISP_WR,ISP_RD分別為ISPl362的片選信號(hào)、讀信號(hào)、寫信號(hào),均為低電平有效;ISP_Al為模式選擇信號(hào),當(dāng)其值為1時(shí),芯片工作于設(shè)備控制器模式,為O時(shí)芯片工作于主機(jī)控制器模式;ISP_A0為高時(shí)對(duì)應(yīng)的ISP_Data為DC的初始化命令,當(dāng)ISP_AO為低時(shí)對(duì)應(yīng)的ISP_Data為寫入相應(yīng)寄存器的配置值。
2.2設(shè)備接收請(qǐng)求
    主機(jī)的每次請(qǐng)求,都是將請(qǐng)求以setup包的形式發(fā)送到out端點(diǎn)的out緩沖區(qū)。當(dāng)out緩沖區(qū)接收到數(shù)據(jù)時(shí),芯片的INT2管腳將會(huì)有中斷產(chǎn)生。在模式寄存器、硬件配置寄存器、中斷使能寄存器正確配置之后,當(dāng)有中斷事件產(chǎn)生時(shí),ISP1362內(nèi)部的SIE就能夠檢測(cè)到中斷,并置中斷寄存器的相應(yīng)位為高電平。固件通過讀取并分析中斷寄存器的值來判斷中斷類型,再進(jìn)行中斷事件的處理。
    固件首先檢測(cè)到的是out中斷。這是因?yàn)樵谏想姀?fù)位以后,主機(jī)就向out緩沖區(qū)發(fā)第一個(gè)setup請(qǐng)求包。當(dāng)接收到out中斷時(shí),固件首先讀取out端點(diǎn)的端點(diǎn)狀態(tài)寄存器將中斷清除,以便于芯片接收其他的中斷。接著固件再根據(jù)端點(diǎn)狀態(tài)寄存器的值判斷out緩沖區(qū)內(nèi)是否含有setup包,然后固件讀取out緩沖區(qū)。
    根據(jù)out緩沖區(qū)的內(nèi)容判斷是何種請(qǐng)求,再?zèng)Q定做何響應(yīng)。in中斷的產(chǎn)生不同于out中斷。in中斷是在in緩沖區(qū)由空變滿之后才產(chǎn)生的,in中斷的產(chǎn)生需要固件進(jìn)行寫in緩沖區(qū)的操作。換而言之,是寫in緩沖區(qū)的操作引發(fā)了in中斷的產(chǎn)生,而不是in中斷的產(chǎn)生引發(fā)了寫緩沖區(qū)的操作。當(dāng)固件檢測(cè)到in中斷時(shí),同樣要通過讀in端點(diǎn)的端點(diǎn)狀態(tài)寄存器將中斷清除。
2.3設(shè)備響應(yīng)請(qǐng)求
    當(dāng)芯片工作于設(shè)備控制器模式下時(shí),設(shè)備端的工作就是被動(dòng)的執(zhí)行主機(jī)發(fā)來的請(qǐng)求。請(qǐng)求類型的確定是通過讀取out緩沖區(qū)里的setup包來完成的。一個(gè)setup包(即請(qǐng)求包)有8個(gè)字節(jié),根據(jù)其中第二個(gè)字節(jié)能夠判斷出請(qǐng)求類型。由流程圖可以看出,枚舉過程中主機(jī)要發(fā)出獲取描述符、設(shè)置地址、設(shè)置配置等請(qǐng)求,對(duì)于獲取描述符的請(qǐng)求,還需要進(jìn)一步判斷是獲取何種描述符的請(qǐng)求,這可以通過請(qǐng)求的第三,四字節(jié)的值來確定。一旦確定了請(qǐng)求類型,設(shè)備就可以確定該如何響應(yīng)請(qǐng)求。當(dāng)確定主機(jī)發(fā)的是獲取何種描述符請(qǐng)求之后,固件就將相應(yīng)的描述符的值寫入in端點(diǎn)的端點(diǎn)緩沖區(qū)。寫in端點(diǎn)緩沖區(qū)的方法與寄存器配置類似,其時(shí)序如圖4所示。


    圖4中ISP_A0為高時(shí)對(duì)應(yīng)的ISP_Data(即0001)是寫in緩沖區(qū)的命令,ISP_A0為低時(shí)對(duì)應(yīng)的ISP_Data為寫入的數(shù)據(jù),其中第一個(gè)數(shù)據(jù)即(0012)為要寫入的數(shù)據(jù)的長(zhǎng)度,其余為設(shè)備描述符。當(dāng)需要發(fā)送數(shù)據(jù)時(shí),只需使能in緩沖區(qū)即可。若是設(shè)置地址請(qǐng)求,固件的工作就是將地址值取出來寫入設(shè)備地址寄存器,然后再向主機(jī)發(fā)送一個(gè)空包。

3 LISB固件代碼實(shí)現(xiàn)
    在FPGA上用Verilog HDL實(shí)現(xiàn)上述功能時(shí),難點(diǎn)有:一是多驅(qū)動(dòng)問題;二是輸入/輸出端口的使用問題。由于程序中有多個(gè)模塊同時(shí)作用于ISP1362的控制信號(hào)線以及數(shù)據(jù)線,如果處理不當(dāng),可能會(huì)產(chǎn)生同一時(shí)刻對(duì)同一信號(hào)有兩次或兩次以上的賦值的現(xiàn)象。為了避免這種情況的發(fā)生,就要在適當(dāng)?shù)臅r(shí)刻給信號(hào)線附上高阻,即當(dāng)一個(gè)模塊在驅(qū)動(dòng)某一信號(hào)時(shí),應(yīng)避免其他模塊也在這一時(shí)刻驅(qū)動(dòng)這一信號(hào)。芯片的16位數(shù)據(jù)線為雙向,這可以減少管腳的數(shù)量,節(jié)省資源。但在使用時(shí)若不注意,同樣容易出錯(cuò)。inout管腳在使用時(shí)一般用三態(tài)門來實(shí)現(xiàn),當(dāng)inout端口不輸出時(shí),要將三態(tài)門置高阻。這在具體的軟件實(shí)現(xiàn)中可以使用一個(gè)連續(xù)賦值(Assign)語句來實(shí)現(xiàn),通過連續(xù)賦值語句將一個(gè)條件操作符賦值給這個(gè)輸入/輸出變量。該設(shè)計(jì)的代碼中,雙端口用語句ISP_Data=en? data:16’hzzzz實(shí)現(xiàn)其輸入/輸出功能。當(dāng)en信號(hào)為高時(shí),ISP_Data作為輸出信號(hào)使用,其值即為data的值;當(dāng)en信號(hào)為低時(shí),ISP_Data作為輸入信號(hào)使用。因此,程序中就可以根據(jù)需要通過控制en信號(hào)的高低來實(shí)現(xiàn)ISP_Data的輸入/輸出使用。

4 結(jié)語
    采用高性能的Altera的FPGA中的EP2C70F672C6作為主控器件,實(shí)現(xiàn)了ISP1362在設(shè)備控制器工作模式下的功能,為解決紅外圖像處理系統(tǒng)中的數(shù)據(jù)傳輸問題提供了新的途徑。在具體的軟件實(shí)現(xiàn)中,成功地解決了多驅(qū)動(dòng)問題和雙向端口的使用問題。驗(yàn)證結(jié)果表明,程序的穩(wěn)定性好、可移植性高,并且容易實(shí)現(xiàn)、易于維護(hù)。在成功地進(jìn)行了枚舉的過程之后,加載上設(shè)備驅(qū)動(dòng)程序即可實(shí)現(xiàn)數(shù)據(jù)向主機(jī)以12 Mb/s的傳輸。

本站聲明: 本文章由作者或相關(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日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(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ì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

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

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(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)閉