Cy7c68013A驅動電路設計注意事項
轉自:http://group.chinaaet.com/116/79029#0-tsina-1-71467-397232819ff9a47a7b7e80a40613cfe1
CY7C68013的驅動電路非常簡單,除了提供24MHz時鍾源,設計好USB差分接口,做好電源濾波,其他信號均可由數字控制。這里簡單的對Bingo設計CV7C68013A-56PVXC驅動電路進行介紹,如下所示:
(1)首先,USB差分電路設計的好壞,決定了實際能運行的速率。
采用USB-Mini接口進行68013的通信,同時完成板卡的供電功能。USB理論上能提供500mA的電流,2.5W的功率足夠支撐板卡的工作。同時500mA自恢復保險絲的設計,有效的保護了PC USB接口的安全。
在Layout D+、D- USB差分信號線的時候,一定要特別注意走線。
此外,外殼通過1uF接地,簡單而有效的進行了電路的ESD保護。
(2)通過FPGA輸入24MHz有源時鍾,如下:
實際上可以采用無源晶振,同時通過XTALOUT輸出24MHz給FPGA作為全局時鍾,進一步降低PCB設計的成本。
(3)CY7C68013A配置芯片24LC64 EEPROM,
注意上拉電阻!
另外:如果EEPROM非空,或者說當前固件本機未安裝驅動,可以通過短接P3,來實現68013上電從內部啟動。當然如果是全新的片子,一些無所謂了。
(4)復位引腳的配置
理論上68013的復位引腳直接高電平即可,但實際上經過多次的測試,發現RESET外接耦合電容,否則68013沒有100%的成功率能完整正常啟動,。這僅是經驗總結,因此這一部分電路千萬不要偷懶,如下所示:
(5)坑爹的RESERVED設置
此外,最坑爹的RESERVED雖說是預留引腳,但是卻不能NC。手冊明文規定必須拉低,否則PC無法識別68013!
(6)WAKEUP功能時鍾上啦,我們不做產品,不許睡覺!
(7)同步時鍾IFCLK由外部FPGA輸入,如下(12MHz輸出可用與驗證IC是否正常工作):
(8)選擇FIFO0,不允許數據輸出,屏蔽數據讀取,不進行包傳輸,EmptyY與Full功能暫時不用,片選始終有效,WR使能信號由外部FPGA輸入,配置如下:
這樣做完全是由於TQFP144的FPGA引腳資源有限,通過固定的配置,換來了功能的實現。如果FPGA有足夠的IO,可以講這些68013這些固定引腳較直接通過FPGA進行靈活的配置。
這里USB_WR作為同步FIFO數據寫入使能信號,由FPGA控制。
此外,設計中沒有引出FLAGB(FULL)、FLAGC(EMPTY)引腳,不僅僅由於FPGA引腳的有限,設計中可以直接忽略FLAGB、FLAGC的技巧,在於降低數據的寫入速率。實際上經驗告訴我們,寫入30FPS的640*480的視頻,即12MHz的速率進行寫入,可以完全忽略FULL、EMPTY信號。因為68013完全有這個能力在這段時間處理好數據的緩存、發送,我們可以接受這個風險!!!
(當然這是迫不得已的……)
(9)這里FIFO選擇了8Bit輸出,如下所示:
(10)PA0中斷輸入CMOS幀信號,用來同步數據,如下:
(11)PD5作為觸發寫入的信號,連接至FPGA作為輸出使能,如下所示:
這里PD3、PD4、PD6實際上沒有使用到。PD3、PD4用於用戶采用68013實現CMOS Sensor的初始化接口,此設計中這兩個IO沒有使用到,PD6為預留。
(12)PD5、PD6從FPGA全局時鍾數據,這里主要使用了PD5-USB_Trigger寫入觸發使能信號,如下:
(13)PD3、PD4預留(暫時沒用到)初始化接口直接輸入FPGA;68013 同步時鍾信號IFCLK、寫入使能信號WR直接從FPGA IO輸出,如下所示: