摘要:1.数字电路基础知识: 布尔代数、门级电路的内部晶体管结构、组合逻辑电路分析与设计、触发器、时序逻辑电路分析与设计2.数字系统的构成: 传感器 AD 数字处理器 DA 执行部件3.程序通在硬件上的执行过程: C语言(经过编译)-->该处理器的机器语言(放入存储器)-->按时钟的节拍,逐条取出指令、分析指令、执行指令4.DSP处理是个广泛概念,统指在数字系统中做的变换(DFT)、滤波、编码解码、加密解密、压缩解压等处理5.数字处理器包括两部分:高速数据通道接口逻辑、高速算法电路逻辑6.当前,IC产业包括IC制造和IC设计两部分,IC设计技术发展速度高于IC设计7.FPGA设计的前续课
阅读全文
摘要:运算放大器 参数详解运算放大器(常简称为“运放”)是具有很高放大倍数的电路单元。在实际电路中,通常结合反馈网络共同组成某种功能模块。由于早期应用于模拟计算机中,用以实现数学运算,故得名“运算放大器”,此名称一直延续至今。运放是一个从功能的角度命名的电路单元,可以由分立的器件实现,也可以实现在半导体芯片当中。随着半导体技术的发展,如今绝大部分的运放是以单片的形式存在。现今运放的种类繁多,广泛应用于几乎所有的行业当中。 历史 直流放大电路在工业技术领域中,特别是在一些测量仪器和自动化控制系统中应用非常广泛。如在一些自动控制系统中,首先要把被控制的非电量(如温度、转速、压力、流量、照度等)用传感器.
阅读全文
摘要:自己写的sopc.h头文件:#ifndef SOPC_H_#define SOPC_H_#include "system.h"typedef struct{ unsigned long int DATA; unsigned long int DIRECTION; unsigned long int INTERRUPT_MASK; unsigned long int EDGE_CAPTURE; }PIO_STR;#define LED ((PIO_STR *) LED_BASE) #define KEY ((PIO_ST...
阅读全文
摘要:IO操作函数 函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量 函数说明:从基地址为BASE的设备中读取寄存器中偏移量为REGNUM的单元里面的值。寄存器的值在地址总线的范围之内。 返回值: -函数原型:IOWR(BASE, REGNUM, DATA) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据 函数说明:往偏移量为REGNUM寄存器中写入数据。寄存器的值在地址总线的范围之内。 返回值: -函数原型:IORD_32DIRECT(BASE, OFFSET) 输入参数:BASE为寄存器的基
阅读全文
摘要:union和struct的区别在于: 1、对于一个union类型的变量,所有成员变量共享一块内存,该内存的大小有这些成员变量中长度最大的一个来决定 2、union分配的内存是连续的,这一点非常重要。 更具体的看这里,还有测试代码呢(附件1): 那为什么要发明union呢?这是由于union的特性决定的,特别是上述的第二点,因为struct中成员变量虽然内存都是独立的,但是struct不能保证分配的内存是连续的。 举个例子:CPU的ax寄存器分为ah和al两部分,我们现在要给其赋值,就可以采用union: union _ax_register { int i; // 4Bytes, union将
阅读全文
摘要:gold序列产生程序:module gold_sque_gen( rst, clk, delay, gold_out );input rst;input clk;input [11:0] delay;output reg gold_out;reg [11:0] counter;reg [11:0] m1_sequence;reg [11:0] m2_sequence;reg [1:0] state;parameter ready = 2'b00;parameter calcu = 2'b01;always @(posedge clk)begin if(!rst) begin .
阅读全文
摘要:module mxulie( clk, rst, ena, m_out, load ); input clk; input rst; input ena; output reg m_out; output reg load;reg [11:0] shift;always @(posedge clk) begin if(!rst) begin m_out <= 1'b0; load <= 1'b0; shift <= 12'b1111_1111_1111; end else begin if(ena) begin //shift[0] <= ( s
阅读全文