環境配置
開始除錯前必須確保電腦已安裝上正確的驅動程式,64位系統在driver中安裝amd64的,32位的系統安裝x86的(我在除錯時因為驅動程式沒有選對,真是血的教訓。。。)。對於ftd2xx的晶元,除非使用mpsse功能,其他情況都使用ftd2xx的驅動,然後使用dll或者配置成com來進行通訊。
建議在除錯硬體前用ftdi官方提供的測試程式進行測試。這是c#下的測試程式,建議使用example 3的資料輪迴測試,注意這個測試程式需要把txd和rxd引腳短接,rts和cts引腳短接。因此建議畫板的時候可以留下介面方便測試。如果四個腳都連線fpga,那也可以用fpga來扮演聯結器的角色。
然後,別忘了還要使用ft_prog把晶元和master通訊方式配置成ft1248模式。,這個在hardware specific中part a的hardware中可以選擇。,並在driver中選擇ftd2xx。需要注意的是,如果只使用了乙個ft232h和master通訊,ft1248匯流排上沒有其他裝置,那麼一般會選上ft1248 setting的flow ctrl not selected,這樣在非通訊過程是晶元的miosio[0]和miso才會反應資料緩衝區狀態,在除錯過程中如果出現資料傳送出去但是板子沒有收到的情況,那麼有一種情況就是電腦的另乙個usb也連著乙個ft的usb晶元,有可能是程式燒錄器。那就拔掉以後再試試。
ft1248的8bit協議
(一) ft232h在本協議中作為從機與主機進行8bit通訊(或者1bit,2bit,4bit,本文基於8bit)
1. 在8bits通訊中,會用到11根訊號線,雙向資料線[7:0] miosio,master控制的時鐘線(sclk)和使能線(ss_n),ft232h控制的miso
2. ft232h判斷使用的是多少bit通訊是通過檢測ss_n在拉低後的第乙個週期內miosio情況(需要注意手冊建議每個miosio都要加上拉電阻,因此晶元預設都是在高電平的),
如果[7:4]miosio中有乙個被拉低了,那麼通訊為8bit;
如果[3:2]miosio中有乙個被拉低了,那麼通訊為4bit;
如果[1]miosio被拉低了,那麼通訊為2bit,否則就是1bit通訊;
3. 在未進行通訊時,ft232h將會通過miosio[0]和miso分別反應write buffer和read buffer的狀態,兩個buffer都有1 kbytes的空間:
(a)其中miosio[0]在高電平表示在write buffer中至少還能存放1 byte;
(b)miso在高電平表示read buffer還有至少1 byte沒有被讀取;
4. 當ss_n變為低電平表示主機正開始一次傳輸,這時首先由主機傳送8bit的cmd指令(在第乙個時鐘返回延,從機進行取樣),沒有使用到的miosio都拉低。
對於8bit模式, 目前可用的指令包括:
cmd0 = miosio[6]; 0x0 寫輸入到usb緩衝
cmd1 = miosio[5]; 0x1 從usb緩衝讀資料
cmd2 = miosio[3]; 0x2 讀取modem狀態
cmd3 = miosio[0]; 0x3 寫modem狀態
0x4 把write buffer中的資料擦除
5. 在第二個週期開始時,[7:0]miosio的傳輸要轉向,主機的這幾根線進入三態狀態(注意:an_167手冊上對8bit的這段描述貌似直接複製了4bit的,所以時鐘和位寬都有錯誤)。轉向完後,第三個週期就開始收/發資料了,當然這個時候ss_n都要保持低電平。同時,miso會使用ack或nak來告知是否傳輸成功。
6. 在準備把ss_n拉高來結束傳輸前,必須把miosio置於三態,使得ft232h能通過miosio[0]把write buffer狀態對映出來。
7. miso的狀態將表示是否在write的時候write buffer滿了,或者在read的時候read buffer空了。如果出現這些異常,miso將反饋nak,手冊建議當收到nak的下乙個週期必須ss_n置高停止傳輸,否則之後的read和write都會出問題。
8. 讀寫資料在每個返回延進行取樣。
FT4222H學習筆記3 搭建C 環境
d2xx是ftdi提供的可以直接通過乙個dll訪問usb裝置的驅動程式。2.解壓d2xx後資料夾內有對應的usb驅動檔案 ftd2xx.h和對應的dll或者靜態庫。c 只能直接使用dll的方式。資料夾amd64對應64位系統,而i386對應32位系統。4.在執行目錄內拷貝對應的檔案 新建乙個ft42...
FT2232H與CY7C131的連線
ft2232h提供了一種mcu host bus emulation 模式,用來模擬一般的8054 8051微控制器的資料介面。cy7c131是一款提供10位位址線 8位資料線的雙口ram。在連線時,分為以下兩種情況 1 位址線為8位時 由於ft2232h的mcu host bus emulatio...
h5引用專案裡css HTML中引入CSS 的方式
有 4 種方式可以在 html 中引入 css。其中有 2 種方式是在 html 檔案中直接新增 css 另外兩種是引入 外部 css 檔案。下面我們就來看看這些方式和它們的優缺點。內聯方式 內聯方式指的是直接在 html 標籤中的 style 屬性中新增 css。示例 這通常是個很糟糕的書寫方式,...