原创 ZYNQ學習之路6.I2C驅動設計

目錄 一. I2C總線簡介 1.1 I2C工作原理 1.2 I2C工作時序 二. I2C驅動架構 三. Linux用戶態I2C驅動設計 3.1 i2c_dev 3.2 ioctl控制 3.3 與從器件的通信數據幀 3.4 溫度傳感器例程

原创 ZYNQ學習之路9.USB總線學習(二)

Linux中USB驅動程序依然遵循標準的設備驅動模型——總線、設備、驅動。和I2C總線設備驅動一樣,所有的USB驅動程序都必須創建的主要結構體是struct usb_driver,它們向USB核心代碼描述了USB驅動程序,但這只是外殼,只

原创 ZYNQ學習之路4.ZYNQ通過GP口讀取PL內部RAM數據

實驗環境:window 7 64 bit, vivado 2017.1, ZTURN board. 參考手冊:Xilinx Distributed Memory Generator         在ZYNQ開發中,經常需要PS與PL進行

原创 ZYNQ學習之路5.擴展PL端串口

在ZYNQ7000中,硬核只集成了兩個串口外設,除去終端使用的串口,只剩一下一個串口可用,而在大多數應用中一個串口往往不能滿足要求。使用FPGA模擬串口可以解決串口外設不足的問題,Xilinx提供了兩種串口IP:AXI UART Lite

原创 ZYNQ學習之路11.AXI DMA

一. AXI DMA簡介 AXI DMA IP核提供了AXI4內存之間或AXI4-Stream IP之間的內存直接訪問,可選爲分散收集工作模式,初始化,狀態和管理寄存器等通過AXI4-Lite 從機幾口訪問,結構如圖1所示,AXI DMA

原创 tflite文件解析

一. 安裝flatbuffer 下載flatbuffer:https://github.com/google/flatbuffers 解壓flatbuffer,進入其根目錄 cd flatbuffers mkdir build cd

原创 ZYNQ學習之路7.CAN總線學習

CAN總線是控制器局域網(Controller Area Network)的簡稱,是國際上應用最廣泛的現場總線之一,CAN總線協議已成爲汽車控制系統和嵌入式工業局域網的標準總線。CAN總線有很多優秀的特點,比如:傳輸速度最高達1Mbps,

原创 ZYNQ學習之路10.DMA PS(PL330)基礎

1. 什麼是DMA DMA是直接內存訪問(Direct Memory Access),DMA引擎可以將數據從一個地方傳輸到另一個地方,在傳輸過程中不經過CPU的控制。最簡單的DMA用法是將數據從內存的一個區域搬運到另一個區域。DMA也可以

原创 ZYNQ學習之路8.USB總線學習(一)

通用串行總線(Universal Serial Bus)是連接計算機系統與外部設備的一種串行總線標準,也是一種輸入輸出接口的技術規範,被廣泛地應用於個人電腦和移動設備等信息通信產品。USB總線是最複雜的總線之一,但其廣泛使用。本文首先直接

原创 TFlite編譯

在tensorflow /lite目錄下創建CMakeLists.txt文件,內容如下: cmake_minimum_required(VERSION 3.5) project(tflite) set(LITE_DIR CMAKE_

原创 ZYNQ學習之路3. 定製AXI IP核

       ZYNQ最大的優點就是硬核A9處理器與FPGA的結合,處理器可以擴展出任何使用者想要的外設(數字邏輯外設),FPGA與處理器通過AXI高速總線進行連接,提供了處理器到FPGA的高速帶寬(ZYNQ7000最高8Gbps)。AX

原创 ZYNQ學習之路2. GPIO的使用

        在ZYNQ7000中,GPIO的使用可以分爲三種,即MIO、EMIO以及GPIO IP方式。其中MIO和EMIO方式是使用PS部分的GPIO硬件模塊來實現GPIO功能,由於MIO是直接連接在硬核A9之上,它們可以輸出三態(