邏輯分析儀我也DIY(四)—神秘藍(lán)點(diǎn)
今晚把各個(gè)顯示的字符都DIY上去了,不過在某些藍(lán)色字符附近出現(xiàn)了許多意外的神秘藍(lán)點(diǎn),如下:
本文引用地址:http://butianyuan.cn/article/270068.htm
上面一共四個(gè)Ch字符中,只有Ch2是完全沒有問題的,特權(quán)同學(xué)就感覺很納悶了,為什么同樣的16個(gè)Ch字符,就這幾個(gè)出現(xiàn)這些神秘的藍(lán)點(diǎn)。家中的LCD專家還特地給分析了,這個(gè)Cha前面的點(diǎn)那是四個(gè)像素的藍(lán)點(diǎn)在一起,覺得不是壞點(diǎn),那一定是認(rèn)為打上去的。換我的話說,那是FPGA給送上去的點(diǎn)。所以回頭來(lái)顯示走讀代碼找問題,一通找,最后還是沒發(fā)現(xiàn)什么不對(duì)的地方。因?yàn)闀r(shí)序約束后還都有較大的余量,所以這個(gè)原因排除,而這個(gè)字模是存儲(chǔ)在M4K配置的ROM里的,所以問題很可能和它有關(guān)系,ROM的配置后又一個(gè)可選的輸出數(shù)據(jù)是否要讓輸入時(shí)鐘打一拍,默認(rèn)是打一拍,我一直以為這里的打一拍不打一拍問題不是很大,不打一拍,送完地址的第二個(gè)時(shí)鐘周期出數(shù)據(jù),而打一拍應(yīng)該是送完地址的第三個(gè)時(shí)鐘周期出數(shù)據(jù),所以也沒太在意。
無(wú)奈之下只能重新讓ModelSim里幫忙找問題,再次進(jìn)行后仿真,這次就抓住出問題的地方,本想找掃描到的點(diǎn)位置送出來(lái)的數(shù)據(jù)是否正確。結(jié)果由于這個(gè)時(shí)間也太長(zhǎng)了,咱等不起,索性就認(rèn)真的就ROM的時(shí)序做起了文章,這一看可不要緊,問題浮出水面。
第1條是ROM的輸入時(shí)鐘;
第2條是ROM1的地址(輸出數(shù)據(jù)沒有用時(shí)鐘打一拍);
第3條是ROM1的輸出數(shù)據(jù);
第4條是ROM2的地址(輸出數(shù)據(jù)打了一拍);
第5條是ROM2的輸出數(shù)據(jù)。
ROM1里,地址001的數(shù)據(jù)是0710,地址002的數(shù)據(jù)是0808;ROM2里地址2d的數(shù)據(jù)是02000000。我想問題就出來(lái)了,對(duì)于ROM1在第一個(gè)時(shí)鐘上升沿送完地址后(延時(shí)一點(diǎn)到達(dá)),第二個(gè)時(shí)鐘上升沿雖然數(shù)據(jù)出現(xiàn)了,但是我們的時(shí)鐘是采不到的,它是在第二個(gè)時(shí)鐘上升沿的建立保持時(shí)間后才出現(xiàn)在總線上的,所以真正意思上讀出數(shù)據(jù)的時(shí)間應(yīng)該是時(shí)鐘的第三個(gè)上升沿。ROM2也類似,由于內(nèi)部時(shí)鐘打了一拍,所以它比ROM1要再慢一個(gè)時(shí)鐘周期。這就是我的問題所在,換句話說,字模數(shù)據(jù)顯示位置整個(gè)右移了一個(gè)坐標(biāo)。
隨后,地址再早一個(gè)時(shí)鐘周期置位,問題解決了。
今晚過后,整個(gè)就下面的一個(gè)效果。
采樣模式顯示。
采樣周期可調(diào),從10ns到100us可調(diào)。
三種采樣模式顯示。
評(píng)論