原创 AGV項目底層總結一

研一入學後剛好趕上實驗室的AGV項目,主要負責AGV車體的驅動和上層ROS端的指令數據交互。斷斷續續做了將近4個月(別問我爲什麼是斷斷續續——甲方的需求就是斷斷續續提的),涉及車體驅動器的驅動、底層硬件平臺PCB的繪製、軟件代碼的

原创 AMBA總線應用的詳解(一)

AMBA總線規範介紹 AMBA 總線規範是 ARM 公司提出的總線規範,被大多數 SoC 設計採用,它規定了AHB(Advanced High-performance Bus)、ASB( Advanced System Bus)及

原创 NIOS II- Dual_Port RAM IP的應用

NIOS II- Dual_Port RAM IP 在NIOS II 的學習中用到FPGA—NIOS II的信息交互,最常用的方式:FIFO/RAM/Avalon-MM Pipeline Bridge。根據項目需求決定採用Dual

原创 Verilog HDL之實用技巧總結

1、驅動時鐘的產生 always @(posedge sys_clk or negedge rst_n) begin if(!rst_n) clk_cnt <= 16'd0; else if(clk_cnt

原创 ROV採集與通信系統之上位機設計

前言 時間一晃,我已經是一名即將步入研三的老學長,趁着這個假期抓緊時間把畢業設計的大體框架完成,後續細節的優化工作再慢慢處理。畢設的課題是ROV採集與通信系統,簡單來說就是ROV水下實時採集高清圖像信息及各種傳感器數據,通過光纖傳

原创 Python之基礎知識總結二

用戶輸入 函數input()讓程序暫停運行,等待用戶輸入一些文本。獲取用戶輸入後,Python可將其存儲在一個變量中,以方便使用。使用函數input()時,Python將用戶輸入解讀爲字符串message = input("Te

原创 VGA/HDMI顯示器驅動設計

淺談VGA顯示器 1、VGA顯示器視頻時序 2、VGA時序參數的定義 //480x272 9Mhz `ifdef VIDEO_480_272 parameter H_ACTIVE = 16'd480; //horizonta

原创 Modbus RTU協議實現

Modbus協議簡介 Modbus串行鏈路系統可以使用不同的物理接口(RS 485,RS 232),最常用的是RS 485兩線制接口。爲了提高通信模塊在工業應用中的抗干擾性和穩定性,接口芯片和FPGA核心模塊之間應加入高速光耦進行

原创 數字二倍頻電路

常用數字二倍頻電路介紹 由一個同或門與一個時鐘上升沿有效的D觸發器(連接成翻轉器)組成,其中clk_in爲外部輸入時鐘週期信號,clk_out爲二倍頻輸出信號。下圖爲其輸入輸出波形。 在t0時刻:(穩定狀態) clk_in爲低

原创 IIC通信方式的詳解

Inter-IntegratedCircuit(集成電路總線) IIC是一種多向控制總線,由飛利浦半導體公司在八十度年代初設計,主要是用來連接整體電路(ICS)。在IIC中多個芯片可以連接到同一總線結構下,同時每個芯片都可以作爲實

原创 ZYNQ學習筆記——SDK系列DMA接口設計

簡介 ZYNQ的優勢在於ARM+FPGA的這種體系結構,那麼在這種體系結構中,最關鍵的無疑是PS端與PL端的數據交互。 通常情況下要將外設數據讀入內存或將內存傳送到外設都會通過 CPU 控制去完成,有查詢或中斷兩種方式實現。如果設

原创 AGV項目底層總結二

接着《AGV項目底層總結一》這篇博客,就AGV項目底層的代碼設計技巧來進行講解。 串口數據接收處理 串口指令的接收所用中斷的方式,同時在中斷裏進行數據幀的識別,接收完整一幀數據後標誌位置1,在main函數中通過標誌位的判斷來進行接

原创 Python之基礎知識總結一

變量與數據類型操作 變量 (1)變量名只能包含字母、數字和下劃線。變量名可以字母或下劃線打頭,但不能以數字打頭。就目前而言,應使用小寫的Python變量名。在變量名中使用大寫字母雖然不會導致錯誤,但避免使用大寫字母是個不錯的主意

原创 Python之數據分析總結

將文本打開讀取文本內八位的十六進制數值,進行分割,將其轉換爲十進制數值並輸出,並繪圖。import numpy as np import matplotlib.pyplot as plt import matplotlib as

原创 ZYNQ學習筆記——SDK系列圖像傳輸接口設計

簡介 在一些對實時性要求非常高的圖像處理領域,通常我們首先想到的就是FPGA,FPGA以其實時流水線運算能力的確可以達到最高的實時性。所以在FPGA的學習中,圖像採集傳輸與簡單的圖像處理一般都是必備的學習案例,該案例涉及的知識相對