新建答案:
在給予 http://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf
值得一提的是,大部分的評論聲稱,接口時序較長,則設置定時數據表下面。這是倒退。設置的時間要長於與LCD對話的時間。
爲了讓我更容易,我打算做一個名爲pulse LCD_E的僞函數調用,每次都可以在頭上替換。
Definition of pulse LCD_E
wait a minimum of 40 ns (2 clock cycles at 50 MHz)
set LCD_E high
wait a minimum of 230 ns (12 clock cycles at 50 MHz)
set LCD_E low
wait a minium 10 ns before changes (.5 clock cycle)
爲標準寫入命令中的時序圖要求你
set LCD_RS, LCD_DB(7:4), LCD_RW
pulse LCD_E
reset LCD_RS, LCD_DB(7:4), LCD_RW for lower nibble
wait 1 us
pulse LCD_E
wait a minium of 40 us before repeating
初始化是非常相似的,儘管你有一個初始的等待時間,並且僅寫入4位與之間的較長等待命令。
這樣做對初始化
wait at least 15 ms (750,000 clock cycles at 50 MHz)
set LCD_DB<7:4> = 0x3
pulse LCD_E
wait 4.1 ms or longer, which is 205,000 clock cycles at 50 MHz.
set LCD_DB<7:4> = 0x3,
pulse LCD_E
wait 100 μs or longer, which is 5,000 clock cycles at 50 MHz.
set LCD_DB<7:4> = 0x3
pulse LCD_E
wait 40 μs or longer, which is 2,000 clock cycles at 50 MHz.
set LCD_DB<7:4> = 0x2
pulse LCD_E
wait 40 μs or longer, which is 2,000 clock cycles at 50 MH
Initialization complete
如果需要EAK出更快的寫入時間由於某種原因,你可以在更長時間的等待過程中設置的下一個數據輸入和刪除初始等待脈衝LCD_E
爲了保護我的舊回答。從數據表中~~
After power-on, the display must be initialized to establish the required communication
protocol. The initialization sequence is simple and ideally suited to the highly-efficient
eight-bit PicoBlaze embedded controller. After initialization, the PicoBlaze controller is
available for more complex control or computation beyond simply driving the display.
老答案:
如果這是怎麼回事了FPGA和你有其他的時序約束(如等待時間),你可能會考慮使用該
http://en.wikipedia.org/wiki/PicoBlaze
這是一個8位微控制器的VHDL實現,對於LCD設置,寫入和讀取信息非常有用。芯片組非常簡單,易於拾取。另外你可以編碼你自己的外設:)
它的免費軟件,我想你可以在這裏下載。它帶有自己的IDE和調試器。
http://www.picoblaze.info/tools.html
如果它只是你可能只想做一個小項目的所有編碼自己的延誤。但是,如果它在一個更大的項目中進行,這非常有用,值得學習。我認爲它最大運行時間爲50 MHz,因此如果您使用的是更快的時鐘,則可能需要執行一些數字時鐘管理。
好的謝謝你明確!但現在我想到另一個問題。對於第2點(在上面的列表中),它說,寫入0x30並等待*** 240ns ***,並且對於接口定時,它表示*** 40ns(設置和E高)+ 230ns(保持)+10ns( E-low)+ 1000ns(在上下級之間)***這是1560ns ...所以這次*(定時接口)*比另一個大*(power-on-init)*這就是混淆我......我應該考慮最大的時間嗎? – BRabbit27