軟排線斷了怎么接(排線斷了怎么接起來)
前沿拓展:
本文主要介紹ZYNQ PS + PL異構多核案例的使用說明,適用開發環境:Windows 7/10 64bit、Xilinx Vivado 2017.4、Xilinx SDK 2017.4。其中測試板卡為TMS320C6678開發板,文章內容包含多個特色案例,如axi_gpio_led_demo案例、axi_timer_pwm_demo案例、axi_uart_demo案例、emio_gpio_led_demo案例、mig_dma案例等,由于篇幅過長,文章分為上下6個小節展示,歡迎大家按照順序進行文章內容查看。
本次測試板卡為TMS320C6678開發板,它是一款基于TI KeyStone架構C6000系列TMS320C6678八核C66x定點/浮點DSP,以及Xilinx Zynq-7000系列XC7Z045/XC7Z100 SoC處理器設計的高端異構多核評估板,TMS320C6678開發板每核心主頻可高達1.25GHz,XC7Z045/XC7Z100集成PS端雙核ARM Cortex-A9 + PL端Kintex-7架構28nm可編程邏輯資源,引出雙路CameraLink、雙路SFP+光口、四路千兆網口、雙路SATA、雙路PCIe、四路USB、雙路CAN、雙路CAMERA、HDMI IN/OUT、LVDS、LCD、RS485、RS232、Micro SD、HPC FMC等接口。
emio_uart_demo案例案例功能
案例功能:PS端通過EMIO方式使用UART0串口進行數據收發。
本案例默認將UART1作為PS端調試串口。
圖 59
CON19(RS232)通過SP3232EEY串口電平轉換芯片引出PL端串口(EMIO UART0),TX和RX引腳分別為K10、L10,電平為3.3V。
圖 60
操作說明基于裸機測試請使用Micro USB線連接PC機和評估板PS端串口CON9(USB TO UART),使用USB轉RS232公頭串口線和RS232交叉串口母線連接評估板的PL端調試串口CON19和PC機。
圖 61
打開設備管理器,確認評估板PS端和PL端串口對應的COM端口號。打開串口調試終端SecureCRT,選擇對應的COM端口號,設置波特率為115200,8N1,無校驗位,并建立串口連接。
加載PS端裸機程序、PL端程序后,即可看到PS端串口調試終端打印如下信息。
圖 62
在PL端串口調試終端點擊"View -> Command (Chat) Window",選中并打開"Command (Chat) Window"窗口。在窗口中輸入十個字符,再按回車鍵進行發送。PS端接收到PL端串口的字符后,會將字符通過PL端串口調試終端進行回顯。
圖 63
圖 64
此時,PS端串口調試終端將會打印通過PL端串口接收到的字符。
圖 65
基于Linux測試將本案例的PL端.bin格式可執行文件復制到"/lib/firmware/"目錄下,并將PL端可執行文件重命名為system_wrapper.bin,然后執行如下命令加載PL端可執行文件。
Target# echo system_wrapper.bin > /sys/class/fpga_manager/fpga0/firmware
圖 66
UART0對應的設備節點為"/dev/ttyPS1"。
圖 67
將產品資料“4-軟件資料\Demo\ZYNQ_Demo\tl-linux-application\base-demos\tl_uart_rw\bin\”目錄下的可執行程序tl_uart_rw復制到評估板文件系統。
在PS端串口調試終端執行如下命令,進行串口數據讀操作。
Target# ./tl_uart_rw -d /dev/ttyPS1 -r -s 8
在PL端串口調試終端點擊"View -> Command (Chat) Window",選中并打開"Command (Chat) Window"窗口。在窗口中輸入8個字符,再按回車鍵進行發送。
圖 68
此時,PS端串口調試終端將會打印通過PL端串口接收到的字符。
圖 69
在PS端串口調試終端執行如下命令,進行串口數據寫操作,數據已在程序中定義。
Target# ./tl_uart_rw -d /dev/ttyPS1 -w -s 8
圖 70
此時,PL端串口調試終端顯示PS端向PL端串口發送的字符。
圖 71
Vivado工程說明進入BLOCK DESIGN開發界面,雙擊ZYNQ7 Processing System IP核框圖,再點擊"MIO Configuration",在I/O Peripherals下可看到UART0已配置成EMIO模式。
圖 72
axi_video_display_demo案例案例功能案例功能:
支持從PS端使用GStreamer或PL端使用Video Test Pattern Generator IP核產生圖像到顯示屏上顯示。PL端主要負責產生分辨率為1080P60的時序、將視頻流轉換成為并行的行場視頻信號輸出到顯示屏上顯示。PS端實現FrameBuffer驅動與觸摸功能。操作說明如需測試LCD顯示屏,請將創龍科技的7英寸LCD顯示屏TL070A通過FFC軟排線連接至評估板CON21接口。如需測試LVDS顯示屏,請將LVDS顯示屏的屏幕接口連接至評估板的LVDS插針處,并將LVDS顯示屏的背光接口連接至評估板的Backlight插針處,同時評估板J1跳線帽選擇2.5V檔位,以配置FMC IO的BANK電壓為2.5V。
圖 73
LCD顯示屏測試將本案例的動態設備樹鏡像文件axi-video-display-480p.dtbo(顯示功能)、touch-screen-ads7846.dtbo(觸摸功能)和PL端.bin格式可執行文件復制到"/lib/firmware/"目錄下,并將PL端可執行文件重命名為system_wrapper.bin,然后執行如下命令加載設備樹文件axi-video-display-480p.dtbo和PL端可執行文件。
Target# mount -t configfs configfs /configfs
Target# mkdir /configfs/device-tree/overlays/lcd
Target# echo axi-video-display-480p.dtbo > /configfs/device-tree/overlays/lcd/path
圖 74
再執行如下命令,加載設備樹文件touch-screen-ads7846.dtbo。
Target# mkdir /configfs/device-tree/overlays/touch-screen
Target# echo touch-screen-ads7846.dtbo > /configfs/device-tree/overlays/touch-screen/path
圖 75
命令執行后,可看到設備節點"/dev/fb0"與"/dev/input/touchscreen0"設備節點。
圖 76
圖 77
執行如下命令進行顯示測試,使用的工具為GStreamer的gst-launch,設置的分辨率為480P(800*480),輸出為mode0測試圖像。
Target# gst-launch-1.0 -v videotestsrc pattern=0 num-buffers=1 ! 'video/x-raw, format=(string)BGRA, width=(int)800, height=(int)480' ! filesink location=/dev/fb0
圖 78
圖 79
執行如下命令,使能環境變量并執行校準程序。
Target# source /etc/profile.d/tslib.sh
Target# ts_calibrate
命令執行命令后,LCD將會彈出校準界面。請依次點擊校準準星,在連續點擊五次之后,將會在評估板文件系統"/etc/"目錄下生成觸摸屏校準文件pointercal,校準后的信息記錄在pointercal文件中。
圖 80
圖 81
LCD屏幕的背光支持8級變化,亮度級數為1~8,關閉為0,最亮為8。
執行如下命令,查看當前亮度。
Target# cat /sys/class/backlight/backlight/brightness
執行如下命令,調整背光亮度。
Target# echo 5 > /sys/class/backlight/backlight/brightness
執行如下命令,查看最高亮度級數。
Target# cat /sys/class/backlight/backlight/max_brightness
圖 82
LVDS顯示屏測試將本案例的動態設備樹鏡像文件axi-video-display-1080p.dtbo(顯示功能)和PL端.bin格式可執行文件復制到"/lib/firmware/"目錄下,并將PL端可執行文件重命名為system_wrapper.bin,然后執行如下命令加載設備樹文件axi-video-display-1080p.dtbo和PL端可執行文件。
Target# mount -t configfs configfs /configfs
Target# mkdir /configfs/device-tree/overlays/lvds
Target# echo axi-video-display-1080p.dtbo > /configfs/device-tree/overlays/lvds/path
圖 83
加載完成后,文件系統將會生成"/dev/fb0"設備節點。
圖 84
執行如下命令進行顯示測試,使用的工具為GStreamer的gst-launch,本次測試使用友達光電的15.6英寸LVDS顯示屏G156HTN02.0,設置的分辨率為1080P(1920*1080),輸出為mode0測試圖像。
Target# gst-launch-1.0 -v videotestsrc pattern=0 num-buffers=1 ! 'video/x-raw, format=(string)BGRA, width=(int)1920, height=(int)1080' ! filesink location=/dev/fb0
圖 85
圖 86
Vivado工程說明VTC IP核默認產生分辨率為1080P60的時序,Video Test Pattern Generator IP核用于產生測試視頻,AXI VDMA IP核用于搬運Video Test Pattern Generator IP核產生的或用戶的視頻數據,AXI-Stream to video out IP核將Video Timing Controller和AXI VDMA IP核輸出的視頻流轉換成為并行的行場視頻信號,行場視頻信號通過LCD接口輸出到顯示屏。
SPI總線通過EMIO方式與顯示屏的觸摸芯片進行連接,PS端TTC定時器通過EMIO方式輸出顯示屏的背光PWM。
圖 87
點擊BLOCK DESIGN開發界面下的"Address Editor"選項,可查看IP核分配的地址,PS端可通過對應地址對IP核進行控制。
圖 88
模塊/IP核配置Video Test Pattern Generator IP核本案例使用Video Test Pattern Generator IP核產生測試視頻。
Video Test Pattern Generator IP核開發文檔為產品資料“6-開發參考資料\Xilinx官方參考文檔\”目錄下的《pg103-v-tpg.pdf》。根據文檔,通過寄存器control可使能IP核;通過寄存器active_height可設置視頻信號高度;通過寄存器active_width可設置視頻信號位寬;通過寄存器background_pattern_id可選擇輸出的背景圖像。
圖 89
圖 90
VTC IP核VTC IP核用于產生分辨率為1080P60的時序。
VTC(Video Timing Controller) IP核開發文檔為產品資料“6-開發參考資料\Xilinx官方參考文檔\”目錄下的《pg016_v_tc.pdf》,具體配置如下。
圖 91
AXI-Stream to Video Out IP核本案例使用AXI-Stream to video out IP核將視頻流轉換成為并行的行場視頻信號。
AXI-Stream to Video Out IP核開發文檔為產品資料“6-開發參考資料\Xilinx官方參考文檔\”目錄下的《pg044_v_axis_vid_out.pdf》。AXI-Stream to Video Out IP核配置Video Format為RGB、Pixels Per Clock為1,數據位寬為24bit。
圖 92
AXI VDMA IP核本案例使用AXI VDMA IP核進行視頻數據緩存。
AXI VDMA(AXI Video Direct Memory Access) IP核開發文檔為產品資料“6-開發參考資料\Xilinx官方參考文檔\”目錄下的《pg020_axi_vdma.pdf》。AXI VDMA IP核中的S2MM將視頻傳到DDR中,MM2S從DDR中獲取視頻。本案例IP核使用3個Frame Buffers,Stream數據位寬為32bit,Memory Map數據位寬為64bit。
圖 93
配置VDMA為讀寫跟隨模式。
圖 94
Clocking Wizard IP核Clocking Wizard IP核使能輸出時鐘頻率動態配置功能。
Clocking Wizard IP核開發文檔為產品資料“6-開發參考資料\Xilinx官方參考文檔\”目錄下的《pg065_clk_wiz.pdf》,具體配置如下。
圖 95
clk_out配置默認輸出頻率為148.5MHz,可通過設備樹進行動態修改。
圖 96
AXI4 Subset Converter IP核本案例使用AXI4 Subset Converter IP核將32bit ARGB視頻格式數據轉換為24bit RGB,并輸出給v_axi4s_vid_out IP核。
AXI4 Subset Converter IP核開發文檔為產品資料“6-開發參考資料\Xilinx官方參考文檔\”目錄下的《pg085-axi4stream-infrastructure.pdf》,具體配置如下。
圖 97
lvds_n_x_1to7_sdr_tx模塊本案例使用lvds_n_x_1to7_sdr_tx模塊將并行數據轉化成差分數據,使用SDR模式,在時鐘的單邊沿傳輸數據。
lvds_n_x_1to7_sdr_tx模塊開發文檔為產品資料“6-開發參考資料\Xilinx官方參考文檔\”目錄下的《xapp585-lvds-source-synch-serdes-clock-multiplication.pdf》,具體配置如下。
圖 98
lvds_n_x_1to7_sdr_tx模塊配置為雙通道,每個通道的數據差分對數量為4。
圖 99
關鍵代碼解釋
定義模塊接口。
圖 100
調用時鐘生成模塊,生成74.25MHz的LVDS發送時鐘。1/74.25MHz≈13.468ns,CLKIN_PERIOD配置為13.468。
圖 101
調用LVDS SDR發送模塊。
圖 102
dual_pixel_24bpp_lvds_mapping模塊本案例使用dual_pixel_24bpp_lvds_mapping模塊將色彩深度為8bit的RGB數據和行場同步信號,按LVDS視頻標準的格式排列后輸出并行數據。
圖 103
關鍵代碼解釋
定義模塊接口。
圖 104
將視頻的RGB數據和行場同步信號,按LVDS視頻標準的格式排列。
圖 105
圖 106
合并奇偶像素的數據輸出。
圖 107
設備樹配置說明7英寸LCD顯示屏顯示功能的動態設備樹源文件為案例目錄"sw\linux_system\src\axi-video-display-480p.dtsi"。
15.6英寸LVDS顯示屏顯示功能的動態設備樹源文件為案例目錄"sw\linux_system\src\axi-video-display-1080p.dtsi"。
Clocking Wizard IP核配置如下圖所示,支持多路時鐘輸出,并可動態配置輸出時鐘。
圖 108
顯示屏的時序配置如下圖所示,如需使用其他顯示屏,可修改為對應時序。
圖 109 7英寸LCD顯示屏
圖 110 15.6英寸LVDS顯示屏
FrameBuffer驅動基于Xilinx DRM框架實現,DRM配置如下圖所示。詳細說明可參考內核源碼"Documentation/devicetree/bindings/drm/xilinx/"目錄下的xilinx_drm.txt文檔。
圖 111
使用PS端TTC定時器通過EMIO方式輸出PWM,頻率為50KHz。
圖 112
觸摸功能的動態設備樹源文件為案例目錄"sw\linux_system\src\axi-video-display-480p.dtsi",觸摸中斷管腳使用EMIO方式連接。
圖 113
申請IP核License如需重新編譯工程或打開Video Test Pattern Generator IP核,需在Xilinx官網申請Video Test Pattern Generator IP核的免費License,并將其正確導入。License申請與導入方法,請查閱調試工具安裝文檔相關章節,其他IP核無需License。
圖 114
成功導入后,可在View License Status窗口發現新添加的License。
圖 115
emio_can_demo案例案例功能案例功能:PS端通過EMIO方式使用CAN0進行數據收發。
CON17通過CAN總線隔離芯片引出PL端IO,TX和RX引腳分別為J10、J9,電平為3.3V。
圖 116
操作說明使用USB轉CAN模塊連接評估板CAN接口和PC機USB接口,如下圖所示。
圖 117
參照調試工具安裝文檔安裝USB轉CAN驅動和ECAN Tools調試軟件,雙擊打開ECAN Tools軟件,選擇設備類型,然后點擊“打開設備”。
圖 118
打開ECAN Tools,界面如下圖所示。
圖 119
將本案例的PL端.bin格式可執行文件復制到"/lib/firmware/"目錄下,并將PL端可執行文件重命名為system_wrapper.bin,然后執行如下命令加載PL端可執行文件。
Target# echo system_wrapper.bin > /sys/class/fpga_manager/fpga0/firmware
圖 120
CAN0對應的設備節點為"/sys/class/net/can0"。
圖 121
進入評估板文件系統,使用文件系統自帶的canconfig工具設置波特率,并啟動CAN接口。
Target# canconfig can0 stop
Target# canconfig can0 bitrate 125000
Target# canconfig can0 start
圖 122
請執行如下命令,評估板發送幀ID和數據。
Target# cansend can0 -i 0x123 0xaa 0x5a
圖 123
ECAN Tools接收到評估板發送的幀ID和數據。
圖 124
請執行如下命令,評估板等待接收數據。
Target# candump
圖125
在ECAN Tools點擊“發送”按鈕,向評估板發送一幀數據。
圖 126
評估板接收到ECAN Tools發送的幀ID和數據。
圖 127
Vivado工程說明進入BLOCK DESIGN開發界面,雙擊ZYNQ7 Processing System IP核框圖,再點擊"MIO Configuration -> CAN0",可看到CAN0已配置成EMIO模式。
圖 128
拓展知識:
- 林內熱水器故障(如何自行檢修和維修)09-23
- 1海信42k11p怎么折開(海信42K11P:全方位展示超清畫質)
- 2電視頻道沒了怎么恢復(快速解決方法)
- 3Fardior燃氣灶售后維修電話號碼查詢(Fardior燃氣灶售后維修電話查詢)
- 4艾木歐防盜門沒電打不開怎么辦(艾木歐防盜門沒電無法啟動?解決方法總結)
- 5ENS指紋鎖售后熱線(ENS指紋鎖售后熱線-專業解決您的問題)
- 6打電話顯示關機是什么原因(如何解決手機無法接通問題)。
- 7v500hk1 cs5故障維修(v500hk1 cs5故障維修指南)
- 8創維液晶電視的遙控器怎么調試(創維電視遙控器調試指南)
- 9林內空氣能售后服務官網熱線(林內空氣能售后服務官網熱線)
- 10朝友精工保險柜24小時售后電話(朝友精工保險柜24小時售后電話 - 完善24小時保
-
特靈空調廠家24小時人工電話(中央特靈空調室內機怎么檢修詳細步驟與注意事項
2024-09-12
-
美的中央空調24小時熱線(美的空調加著氟注意什么美的空調使用氟注意事項)
2024-09-12
-
特靈空調24小時人工服務(特靈空調風機電容怎么接詳細步驟解析)
2024-09-12
-
特靈廠家售后服務官網熱線(中央特靈空調匹數和面積分配如何合理選擇匹數以
2024-09-12
-
開利中央空調總部售后維修熱線電話(開利空調高壓堵塞是什么樣現象開利空調
2024-09-12