Git Product home page Git Product logo

mfkiwl's Projects

fpga_fibre_scan-ultrasound icon fpga_fibre_scan-ultrasound

本信号处理板主要由FPGA芯片和CYUSB3.0 芯片组成,其中FPGA模块主要完成与相关外设的交互,CYUSB3.0主要完成协议数据的传输。 2.2.1 FPGA模块 处理流程: 1. 链路初始化: 在上位机完成USB固件的下载,并读取固件的信息状态描述后,通过上电复位或者手动复位,通过串口发送0X55给上位机,表明链路打通,一次握手成功。 2. 超声波发射与AD数据接收:在收到上位机通过串口发送的0X02指令后,开启(START),发送超声方波信号,(注:该START信号在处理过程被改变成包络信号)因为只是单阵元,所以就没有接收延迟聚焦的问题,但有皮肤表皮的客观实际和单阵元回波的时间消耗,所以在等到C_CORDIC_DELAY(1000)后,才开始AD数据的采集。(注:具体多少厚度,需要细算)。每次采集4096个数据,形成一个扫描线;总共需要采集300根扫描线,若不够,则需重新发送方波,并接收AD数据。 3. 剪切波发送: 在采集到第33根扫描线后,开始剪切波的发送,简单的发送50HZ的单载波就可以,此后的AD数据就含有剪切波的信息。 4. 控制通路的信息: 这里通过CYUSB3.0的串口来传送上位机发送的控制端口信息 ,包括数据通路的读和写指令(注:这里只需要通过BULK读取数据通路的数据,不需要通过BULK向数据通路写数据);通过CYUSB3.0的串口来传送下位机FPGA的状态信息指令给上位机。(由于采用的是URAT,所以有FIFO缓存和数据发送接收状态控制操作) 5. 数据通路的信息: 这里通过上位机的读写指令来将数据存储到FIFO中,这里默认发送的是0X00指令,一直读取AD采集到的数据。并且采用的是BULK的Xfer->read的同步传输,一直要等到指定数目数据(4096*300)采集完才结束采集。 2.2.2 USB3.0模块 1. 这里首先要进行存储划分和寄存器映射,一般汇编或者其他CMD格式,然后编写BOOTLOAD汇编,最后中断跳转处理(汇编)。 2. 这里主要配置GPIF的异步串口参数和读写操作。 3. 这里需要给出CTL端口和BULK端口的配置和读写。 2.3 上位机软件 这里主要完成算法的处理和界面的显示和控制。 关于算法部分需要后面补充,目前没有完全消化。 处理流程: 1. 初始化USB,然后上位机通过控制端点发送写命令控制字(不加帧头命令)下位机未处理,开启监视工作线程循环,主要内容是:通过控制端点发送读命令控制字,通过控制端点读回串口信息,用来验证设备是否启动握手成功(0X55)。 2. 启动成功后引发响应的启动触发方法。启动触发方法中,先要延时大于0.36s,如果选中check_box,则使用存储的测试数据,若未选中,通过控制端点发送写start命令,开启bulk端口读循环线程,最后每次测量发送一次读bulk数据消息到消息队列。 3. 在bulk端口读循环线程中引发响应的bulk读方法,在bulk读方法中,主要调用底层的USB3.0的bulkin读方法,数据读上来后,post一个getData消息,交由绑定的函数来处理数据。 4. 数据处理包括二独立部分,一部分是原始数据产生MotionMOdel信息 ,一部分是原始数据产生剪切波速度和杨氏模量信息。

fpga_nn-ai icon fpga_nn-ai

A neural network built in Verilog for the DE1-SoC FPGA board for handwritten digit recognition.

fpga_nn_generator icon fpga_nn_generator

used python(3.5) with tkinter library to generate FPGA neuro network inference verilog HDL. IO based on serial communicate

fpga_peripherals icon fpga_peripherals

OV7670 camera, ST7735 screen and others on ice40 ultraplus fpga (breakout board)

fpga_pio icon fpga_pio

An attempt to recreate the RP2040 PIO in an FPGA

fpga_propia-zynq icon fpga_propia-zynq

En este repositorio se subirán los ficheros que permitirán crear una FPGA basada en Zynq-7000

fpga_puf-1 icon fpga_puf-1

:lock: Technology-agnostic Physical Unclonable Function (PUF) hardware module for any FPGA.

fpga_sdr icon fpga_sdr

Software Defined Radio receiver in Marsohod2 Altera Cyclone III board

fpga_snark_prover icon fpga_snark_prover

An acceleration engine for proving SNARKS over the bn128 curve, targeted for AWS FPGAs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.