iCore2是一款包含ARM / FPGA两大利器的双核心板.ARM方面,采用意法半导体高性能的32位Cortex-M3内核STM32F103VE微处理器,主频达72MHz,并包含丰富外设接口.FPGA方面,采用最新的CycloneTM四代FPGA EP4CE10F17C8N.iCore2分别将ARM.FPGA作为主处理器和协处理器,通过并行总线将其有机结合在一起,完成并行事件处理,使其优势互补.协同工作,更能发挥嵌入式系统中两种不同核心器件的优势. 它既高度集成.又不臃肿,是电子工程师不可多得…
PCB设计流程 PCB规则设置 设计规则的单位跟随画布属性里设置的单位,此处单位是mil.导线线宽最小为10mil;不同网络元素之间最小间距为8mil;孔外径为24mil,孔内径为12mil;线长不做设置;在PCB设计过程中,都要开启"实时规则检测"."检测元素到覆铜的距离"和"在布线时显示DRC安全边界"功能. 布局原则 布局一般要遵守以下原则: (1)布线最短原则.例如,集成电路(IC)的去耦电容应尽量放置在相应的VCC和GND 引脚之间,且…
STM32每个IO口具有7个寄存器来控制,每个IO口都可以自由进行编程控制,我们编程实际上控制的是通过控制那7个寄存器来控制我们的IO口,我们可以通过编程控制IO口,把IO口配置成如下八种模式: 1.输入浮空2.输入上拉3.输入下拉4.模拟输入5.开漏输出6.推挽输出7.推挽式复用功能8.开漏复用功能 每个IO口所对应的7个寄存器分别是: 1.CRL和CRH:均为32位寄存器 2.IDR和ODR:均为32位寄存器,但是只用到了低16位 3.BRR:16位寄存器,用于复位 4.LCKR:32位,锁…
1 系统方案 对于设计一款硬件平台,首先要确定整体框架,确定各个模块所需要的芯片以及电压分配情况.图2.6是笔者曾经设计的硬件平台系统. 图2.6系统框图 对于选定一个系统方案之后,接下来做的要先去查看所选用的芯片的数据手册.那么查看手册一般有几点必须要注意,(1)FPGA的工作电压,确定若FPGA正常工作需要几档电压,好设计电源电路:(2)考虑功耗,这决定着需要多大功率的电源才能驱动芯片正常工作:(3)查看时钟网络的分布,这决定在进行逻辑设计时时钟分配的问题:(4)JTAG下载电路,这一部分是…
JAVAEE Java ee 平台由一整套服务(Services).应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对JAVAEE中的13种技术规范进行简单的描述(限于篇幅,这里只进行简单的描述): 1.JDBC(Java Database Connectivity) JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDCB对数据库的访问也具有平台无关性. 2.JNDI(Java Name an…
整体架构 目前主流厂商的RPA平台就是由控制台.设计器和机器人这三个标准套件组成,这三个核心套件形成了RPA产品的基本要素.其它如AI平台.人机交互.流程挖掘.自动化中心等都是衍生出来的周边产品. 1.RPA控制台部署方式 RPA项目的部署方式样式各式各样,部署方式常见为3种:集中式部署.分布式部署及混合式部署.从部署地理位置划分有私有化部署及公网有部署. 1.1集中式部署 即机器人和RPA服务器部署在同一个网络,由总体统一管理,利于管理和维护,自动化场景不涉及多个分支机构或可以集中在总部处理.…
一.移植准备 开发版STM32F10xC8T6 准备好移植RT-Thread的移植工程 没动手移植过RT-Thread的小伙伴,可以看RT-Thread移植到stm32 我这里是将控制台信息打印到串口的,所以需要确认RT-Thread可以将控制台信息通过串口输出.有疑问的话可以看我之前的文章,RTThread 重定义rt_hw_console_output函数. 控制台能正常打印信息后,如下图所示: 二.移植FinSH源码 在项目中添加finsh源码 FinSH 源码位于 components/…
一,进程模型及进程托管 1,一个APP应用是由一个或多个组件构成的,这些组件可以运行在一个进程中,也可以分别运行在多个进程中: 进程的构造和销毁是由系统全权负责的. 2,一个应用进程只有一个应用环境对象,它在第一个应用进程的组件加载之前被构造,在应用进程中最后一个组件结束后销毁. 3,组件可以通过 android:process = ":com.zy.tool.another"  将组件配置到指定的进程中,冒号开头表示这是一个私有进程,只有本应用的组件才能使用该进程. 如果是小写字母开…
写在前面 spring boot能够根据依赖的jar包自动配置spring boot的应用,例如: 如果类路径中存在DispatcherServlet类,就会自动配置springMvc相关的Bean.spring boot的自动装配来源于spring的装配,功能也是随时spring的不断升级不断完善的,spring boot正是在spring的基础上实现的自动装配. spring模式注解装配 模式注解介绍  模式注解是应用程序中用来标注组件的注解,例如:@Repository是spring框架中…
DIY_hlstudio_WIN7PE[69M]网络版[89M] hlstudio的骨头版PE非常精简,由于启动方式和用法不同,个人进行了如下修改:1.原来的合盘修改为bootmgr直接起动ISO镜像.2.修改BCD菜单,修改强制开启主板PAE功能为缺省,从网虫2008PE中提取\Windows\System32\ntoskrnl.exe,恢复到BOOT.WIM中,确保不支持PAE的主板顺利启动WIN7PE.3.把MMC组件(含内置格式化功能)恢复到\Windows\System32\,右击我的…
一.分布式架构 1.分布式特点 分布性 对等性.分布式系统中的所有计算机节点都是对等的 并发性.多个节点并发的操作一些共享的资源 缺乏全局时钟.节点之间通过消息传递进行通信和协调,因为缺乏全局时钟,很难定义两个事件谁先谁后 故障总是会发生.系统设计时,需要考虑到任何异常情况 2.分布式环境的各种问题 通信异常.分布式系统中的某些节点之间无法正常通信 网络分区.这有部分节点可以正常通信,有些无法正常通信.这种现象称为网络分区,也称为“脑裂” 三态.节点之间的一次通信存在三种状态:成功.失败.超时…
  YBC的云计算思维 计算机基础 一 计算机由5大单元组成 输入单元(鼠标 键盘) 存储单元(硬盘 内存) 逻辑单元(CPU) 控制单元(主板) 输出单元(显示器 音响 打印机) CPU CPU主要由控制单元.逻辑单元和存储单元三部分组成 ① 超线程 超线程技术;指在一颗CPU 同时执行多个程序而共同分享一颗CPU 内的资源.真实在CPU 中仅仅多加了一块逻辑处理单元. 超线程的使用必须让主板.软件全部支持才可以进行使用 ② 多核心技术 利用多核心的累加方式提高CPU 的速度. SMP ( S…
实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址复用模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC总线从STM32向 RAM块中写入数据,然后读取RAM出来的数据进行验证. 核心代码: int main(void) { int i; unsigned int fpga_read_data; system_clock.initialize(); fsmc.initialize(); led.ini…
实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC总线从STM32向 RAM块中写入数据,然后读取RAM出来的数据进行验证. 核心代码: int main(void) { long int i; unsigned int fpga_read_data; system_clock.initialize(); fsmc.initialize(); le…
实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址复用模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC总线从STM32向 RAM块中写入数据,然后读取RAM出来的数据进行验证. 核心代码: int main(void) { int i; unsigned short int fsmc_read_data; HAL_Init(); system_clock.initialize(); fsmc.ini…
实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC总线从STM32向 RAM块中写入数据,然后读取RAM出来的数据进行验证. 核心代码: int main(void) { int i; unsigned short int fsmc_read_data; HAL_Init(); system_clock.initialize(); led.init…
对IC设计而言,FPGA设计层级大致包括:系统级和行为级,RTL级,门级和晶体管级.然而更普遍的情况,FPGA只是用作实时数据采集控制.某些快速处理算法.PCIe\DDR3等高速数据通道,甚至某些简单的胶合逻辑等,FPGA开发工程师基本不会接触到门级和晶体管级.自顶而下FPGA设计方法,按照职位分工不同,大致归纳如下. 1. 系统架构师工作在系统级,一般使用高级语言如System C描述一个系统的规格,仿真整个系统的功能和性能等,往往不涉及具体的实现细节,但应该对系统实现所需要的资源等关键指标进…
这几天在用stm32读取FPGA中FIFO里的数据,遇到了不少的问题.其中有个自己觉得比较好玩的问题,就拿出来写写.其实这个问题也比较简单,开始我觉得没必要拿出来写,不过,想想后觉得还是写写吧,就当做是打发一下时间. 问题就是,stm32的中断没有电平触发方式.网上也看了看,有人为电平触发的中断没有什么意义,没必要用.也有人的想法相反.接下来我就不废话了,直接开始讲我遇到的这个问题以及怎么解决的吧. 说一下背景.我的任务是用stm32读取FPGA中FIFO里的数据.至于这些数据怎么来的,怎么写进…
1.DSP 在DSP里,你是一个软件设计者,硬件已经完全固化,你所要做的,就是在这个固定的硬件平台实现算法改进与优化, DSP的关键优势在于能够运行多种算法的灵活性: 2.FPGA 对于FPGA来说,你是一个硬件设计者,FPGA就是一张白纸,上面写什么,画什么都取决于你.同样一片FPGA,菜鸟和高手实现的功能会是天壤之别,FPGA的最大优势在于硬件实现已及通过并行处理实现的效率增益.使用FPGA,您大多的时间并非进行算法设计与优化,而是逻辑设计与时序约束等等.一些以FPGA为核心的设备的特点是有…
九.基于串口猎人软件的串口示波器 1.实验介绍 本实验,为芯航线开发板的综合实验,该实验利用芯航线开发板上的ADC.独立按键.UART等外设,搭建了一个具备丰富功能的数据采集卡,芯航线开发板负责进行数据的采集并将数据通过串口发送到PC机上,PC端,利用强大的串口调试工具--串口猎人,来实现数据的接收分析,并将数据分别以波形.码表.柱状图的形式动态显示出来,以让使用者能够直观的看到ADC采集到的信号细节.同时,用户也可以使用串口猎人通过串口给下位机(FPGA)发送指令,下位机将对接收到的指令进行解…
本文先总结不同AXI IP核的实现的方法,性能的对比,性能差异的分析,可能改进的方面.使用的硬件平台是Zedboard. 不同的AXI总线卷积加速模块的概况 这次实现并逐渐优化了三个版本的卷积加速模块,先简要描述各个版本的主要内容. 版本一 版本一主要是用来测试AXI总线IP核的实现可能. 该模块拥有19个32位寄存器 其中前9个寄存器用来保存需要计算的值 后面9个寄存器用来保存卷积核 在读取第19个寄存器的地址的时候计算9个寄存器的卷积和(该计算可以在一个时钟周期内完成) 9个寄存器单独赋值,…
本文记录了利用FPGA加速图像处理中的卷积计算的设计与实现.实现环境为Altera公司的Cyclone IV型芯片,NIOS II软核+FPGA架构. 由于这是第一次设计硬件加速模块,设计中的瑕疵以及问题欢迎前来讨论. 更新记录: D0423 记录FPGA核心计算模块和控制模块 D0426 记录FPGA核心计算模块的控制驱动,性能与功能测试 Part1 : 卷积相关 软件实现卷积 卷积是将原来矩阵的对应部分与卷积核对位乘法再加起来,形成新的矩阵中的一个位. 图中红色的框是卷积操作当前所在位置,对…
地点:南图 这部分的内容是整个STM32学习知识的核心,不管是什么微控制器处理器,时钟系统都是其核心类似于人之心脏,因此学好理解这一章节至关重要. 为了便于理解这一系统,将从以下几个层次来讲.(忘了是在哪儿看到的这么一句话,当你能对某人解释清楚某一部分知识,那么说明你已经完全掌握了它) . 1.第一个层次:硬件 STM32的时钟源 可以有以下5个来源: (1)HSI高速的内部时钟 8M的RC震荡时钟,相对于晶体振荡器精确度差些,因此在需要精确频率或定时的应用时,应选用HSE作为系统时钟.这个是在…
转, 来源: http://www.sohu.com/a/204640373_740053 可编程的“万能芯片” FPGA——现场可编程门阵列,是指一切通过软件手段更改.配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路. 一.FPGA简介 FPGA(Field Programmable Gate Array)于1985年由xilinx创始人之一Ross Freeman发明,虽然有其他公司宣称自己最先发明可编程逻辑器件PLD,但是真正意义上的第一颗FPGA芯片XC2064为xilin…
之前的项目中更多的是有师兄提供经验和帮助,追求的是快速上手,所以不管对于硬件电路设计,还是verilog电路编程,甚至是FPGA内部的资源,都没来得及系统地学习,最近在做算法到电路的实现,正好系统学习,将感悟记于此,如有错误,欢迎指出.讨论. 原创不易,转载请转原文,注明出处,谢谢.   一.关于时钟引脚 FPGA芯片一般有好几组时钟引脚 CLK [0..N] [p,n],我的理解是:首先,时钟必须由外部晶振通过CLK引脚输入到FPGA的时钟网络,至于选用哪一组CLK,主要看FPGA哪个bank…
之前的项目中更多的是有师兄提供经验和帮助,追求的是快速上手,所以不管对于硬件电路设计,还是verilog电路编程,甚至是FPGA内部的资源,都没来得及系统地学习,最近在做算法到电路的实现,正好系统学习,将感悟记于此,如有错误,欢迎指出.讨论. 一.关于时钟引脚 FPGA芯片一般有好几组时钟引脚 CLK [0..N] [p,n],我的理解是:首先,时钟必须由外部晶振通过CLK引脚输入到FPGA的时钟网络,至于选用哪一组CLK,主要看FPGA哪个bank对时钟要求最为苛刻:其次,一般用p端,n端由q…
用FPGA对ASIC进行原型验证的过程   reference:http://xilinx.eetrend.com/d6-xilinx/article/2018-10/13736.html     鉴于芯片设计的复杂度提升, 成功设计一个芯片所牵扯的步骤与过程也愈加复杂,所需花费的资金也成倍增加,一个典型的芯片开发项目的周期和花销如下所示 可以见到在芯片制造出来之前,很多精力会花费在RTL代码验证工作上,另外软件的相关开发工作,也会在得到芯片前开始,这2方面都需要借助FPGA原形来模拟芯片的行为…
目标反射回波检测算法及其FPGA实现之二: 互相关/卷积/FIR电路的实现 前段时间,接触了一个声呐目标反射回波检测的项目.声呐接收机要实现的核心功能是在含有大量噪声的反射回波中,识别出发射机发出的激励信号的回波.我会分几篇文章分享这个基于FPGA的回波识别算法的开发过程和原码,欢迎大家不吝赐教.以下原创内容欢迎网友转载,但请注明出处: https://www.cnblogs.com/helesheng. 在本系列博文的第一篇中,根据仿真结果,我认为采用“反射回波和激励信号互相关”来计算目标距离…