|
例說FPGA連載68:AV視頻采集之移位寄存器時序解析 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1c0nf6Qc
下面我們給出幾個時序波形圖,幫助大家來理解移位寄存器接口的工作原理。如圖12.16所示,這里假設移位寄存器原本是空的,我們在clken拉高時,從shiftin[7:0]連續輸入了1283個數據,那么在輸入數據的第1280個時鐘周期,即圖示的clken拉高的倒數第4個時鐘周期(對應shift[7:0]的數據為0x10時),taps[7:0]和shiftout[7:0]同時出現了移位寄存器在1280個時鐘周期前由shiftin[7:0]接口輸入的數據,即0x11。以此類推,隨后若clken繼續保持高電平,則taps[7:0]和shiftout[7:0]總線上將持續輸出由shiftin[7:0]輸入的數據。
圖12.16 移位寄存器工作原理波形示意圖1 我們接著來看,若clken在某些時鐘周期拉低,則會出現什么情況。如圖12.17所示,clken在拉高了1280個時鐘周期后,緊接著拉低2個時鐘周期,然后再拉高。那么,在第1280個時鐘周期,taps[7:0]和shiftout[7:0]總線上正常出現1280個時鐘周期前在shiftin[7:0]上的數據。而緊接著的2個clken拉低的時鐘周期里,taps[7:0]和shiftout[7:0]總線是的數據保持0x11不變,只有當clken再次拉高后,它們才會繼續更新輸出的數據。也就是說,clken拉低的時鐘周期里,移位寄存器內部相當于停滯狀態。利用這個特性,其實可以幫助我們設計中在使用移位寄存器時實現一些靈活的數據流控制。
圖12.17移位寄存器工作原理波形示意圖2 |