- 博客(0)
- 资源 (17)
- 收藏
- 关注
第5章 重用策略和任务
随着芯片制造工艺的变化,对大规模集成电路设计的需求正在促使芯片的设计技术面临新的变革,设计方法也发生巨大的变化。SoC已经成为21世纪全球瞩目的关键和新技术。网络普及化、全球电信自由化以及科技产品生活化的发展趋势,促使计算机、通讯、消费电子的界限快速融合,形成了3C整合的新兴科技和产业。各种技术产品对降低成本、具有垂直整合特性、简化系统设计、降低功耗和缩小产品体积提出强烈要求。然而,目前集成电路的设计能力和EDA工具能力却远远落后于半导体工艺的发展,两者之间日益加剧的差距已经成为SoC技术发展过程中一个突出的障碍。采用IP重用进行设计是减小这一差距非常有效的途径。可重用设计就是利用预先设计好和预先充分验证的核进行功能组装来设计芯片,使设计更快、更有效。可重用设计方法已经成为设计巨大容量芯片的必选方法,设计师们可以引入外部IP产品,再与自己的优势相结合,完成具有自己知识产权的系统设计,在芯片设计过程中有效地控制设计费用、缩短设计周期并且提高产品质量。目前,设计人员面临的挑战已经不再是是否有必要采用可重用设计方法,而是如何使用可重用设计方法,从而使它在设计过程中发挥更高的效率。
2010-05-23
第2章 SoC设计与建模方法
2. 1 SoC总体设计思想
SoC设计理念与传统的系统设计不同,其设计技术是以系统功能为出发点,将系统的处理机制、模型算法、芯片结构、各个层次的逻辑电路直至器件的设计紧密结合,在一个或若干个芯片上完成整个系统功能。SoC设计不是以功能电路为基础的分布式系统的综合技术,而是以IP核为基础的系统模块和电路综合技术。SoC以嵌入式系统为基本结构,集软硬件于一体,追求最大包容的系统集成,构成各种应用系统。它已成为现代数字系统设计开发的最佳选择。
传统的设计方法采用专门的方法和工具各自独立地对各种不同领域的设计(如数字电路、模拟信号电路、嵌入式软件)加以开发。而在SoC中,这些学科领域的设计共同存在于同一个设计对象之中,因此设计方法将不得不处理数模混合设计和软件/硬件协同设计。
2010-05-23
skyeye用户手册 很实用啊的
1.2 安装
1.2.1 二进制的rpm包安装
对于普通用户来说,可以下载skyeye的二进制的rpm包进行安装。skyeye默认的安装路径
为/opt/skyeye。从SkyEye官方网站(http://sourceforge.net/projects/skyeye/)下载rpm包,然后进行安
装。安装的命令如下,需要用超级用户的权限。
rpm -ivh skyeye-1.2.9-rc1.i386.rpm
1.2.2 源代码安装
从sourceforge网站上下载Skyeye的1.2.9的源代码,解压
tar xzvf skyeye-1.2.9_rc1.tar.gz
然后运行如下命令编译
./configure
make lib
make
其中make lib来编译第三方的库,make来编译skyeye的源代码
最后安装SkyEye 到/opt目录下
make install_lib
make install
2010-05-23
基于AT89C2051的电子闹钟
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
本设计利用51单片机来控制步进电机的运作,实现对步进电机的精度。输入定时信号、转速信号及运行方式(正传、反转、摆动、定时启动)信号来控制步进电机的运行状态。
2010-05-23
基于AT89C2051的步进电机控制系统
本设计采用的是STC89C52RC对步进电机(步进电机是28BYJ-48减速永磁5VDC)进行控制,通过P2口输出地具有时序的方波作为步进电机的控制信号吗,信号经过芯片ULN2003A驱动步进电机;同时用3x3的键盘及计数器/定时器T0和T1、中断INT0和INT1来控制步进电机的加速和减速,利用LCD1602显示步进电机的相应的状态。
说明:在步进电机设计的初期,本想做自动控制升旗系统,但由于其中的语音芯片ISD2560价格太高,中途放弃了。进而转向单片机的各种空载控制的各种功能的设计和实现。
2010-05-23
嵌入式系统设计与应用实验串口通信
/* 包含文件 */
#include "def.h"
#include "2410lib.h"
#include "option.h"
#include "2410addr.h"
#include "interrupt.h"
/********************************************************************
// Function name : Main
// Description : JXARM9-2410 串口通信实验主程序
// 实现功能:
// 实现JXRAM9-2410与PC机的串口通讯
// JXARM9-2410 UART0 PC COM
// Return type : void
// Argument : void
*********************************************************************/
void Main(void)
{
/* 配置系统时钟 */
// TODO ...
/* 初始化端口 */
Port_Init();
/* 初始化串口 */
// TODO ...
/* 打印提示信息 */
PRINTF("\n---UART测试程序---\n");
PRINTF("\n请将UART0与PC串口进行连接,然后启动超级终端程序(115200, 8, N, 1)\n");
PRINTF("\n从现在开始您从超级中断发送的字符将被回显在超级终端上\n");
/* 开始回环测试 */
// TODO ...
}
2010-05-23
计算机控制技术 顺序控制与数字程序控制
顺序控制系统的组成结构及特点如下
①顺序控制系统的输入和输出信号都是两个状态的开关信号。
② 顺序控制系统必须有系统控制器,它是系统的核心部分。
③顺序控制系统需要增加检测机构。
一个典型的顺序控制系统由系统控制器、开关量输入接口电路、开关量输出接口电路、执行机构、控制对象、检测机构、显示与报警电路7部分组成,其结构框图如图4-3所示。
2010-05-23
工业控制网络技术网络
工业控制网络技术是在工业生产的现代化要求情况下提出来的,与计算机技术、控制技术和网络技术
的发展密切相关。
随着网络技术的发展,Internet正在把全世界的计算机系统、通信系统逐渐集成起来,形成信息高速公路,形成公用数据网络。在此基础上,传统的工业控制领域也正经历一场前所未有的变革,开始向网络化方向发展,形成了新的控制网络。
2010-05-23
嵌入式的多线程应用程序设计
/************************************************
*
* The classic producer-consumer example.
* Illustrates mutexes and conditions.
* by Zou jian guo
* 2003-12-22
*
*************************************************/
#include
#include
#include
#include "pthread.h"
#define BUFFER_SIZE 16
/* Circular buffer of integers. */
struct prodcons {
int buffer[BUFFER_SIZE]; /* the actual data */
pthread_mutex_t lock; /* mutex ensuring exclusive access to buffer */
int readpos, writepos; /* positions for reading and writing */
pthread_cond_t notempty; /* signaled when buffer is not empty */
pthread_cond_t notfull; /* signaled when buffer is not full */
};
/*--------------------------------------------------------*/
/* Initialize a buffer */
void init(struct prodcons * b)
{
pthread_mutex_init(&b->lock, NULL);
pthread_cond_init(&b->notempty, NULL);
pthread_cond_init(&b->notfull, NULL);
b->readpos = 0;
b->writepos = 0;
}
/*--------------------------------------------------------*/
/* Store an integer in the buffer */
void put(struct prodcons * b, int data)
{
pthread_mutex_lock(&b->lock);
/* Wait until buffer is not full */
while ((b->writepos + 1) % BUFFER_SIZE == b->readpos) {
printf("wait for not full\n");
pthread_cond_wait(&b->notfull, &b->lock);
}
/* Write the data and advance write pointer */
b->buffer[b->writepos] = data;
b->writepos++;
if (b->writepos >= BUFFER_SIZE) b->writepos = 0;
/* Signal that the buffer is now not empty */
pthread_cond_signal(&b->notempty);
pthread_mutex_unlock(&b->lock);
}
/*--------------------------------------------------------*/
/* Read and remove an integer from the buffer */
int get(struct prodcons * b)
{
int data;
pthread_mutex_lock(&b->lock);
/* Wait until buffer is not empty */
while (b->writepos == b->readpos) {
printf("wait for not empty\n");
pthread_cond_wait(&b->notempty, &b->
2010-03-21
嵌入式\(高校应用案例)北航软件学院
学员在中科院学习期间独立完成制作ARM开发板、开发触摸屏驱动等36个嵌入式专题实验项目,1-3个大型项目。其他实验项目如:智能机器人等可在结业后完成。
教学周期:10个月,其中第一学期3个月,第二学期5个月,课程实训2个月。
课程编号 教学单元 教学内容 就业岗位
第一学期 教学课时3个月
ZKQ090101 网络原理及linux服务 网络概述;数据通信基础;网络体系结构与协议;局域网;网络互联与TCP/IP协议;Internet及其应用;网络连接设备与技术 •Linux下C开发人员
•面向C嵌入式开发人员
ZKQ090102 Linux安装 正确安装Linux操作系统
ZKQ090103 Linux 开发环境与应用程序设计 Linux C 编程基础,gdb调式器,Makefile文件概述;Linux系统调用原理;基于系统调用的文件I/O操作;文件上锁,程序机制与功能,特殊文件的操作;串口编程,串口通信的实现;Linux多线程编程
ZKQ090104 嵌入式Linux系统基础 Linux的进程管理,特殊进程的操作;Linux进程间的通信(一):管道通信;Linux进程间的通信(二):信号;Linux进程间的通信(三):消息队列与共享内存
ZKQ090105 FPGA1/CPLD EDA技术简介以及CPLD/FPGA 基础知识,QuartusII软件入门;硬件描述语言( VHDL)基本语法和实践;硬件描述语言( Verilog HDL)基本语法和实践;FPGA实验、DSP入门;Altium Designer 6.x电路原理图与PCB设计
ZKQ090106 Linux内核裁剪与移植 嵌入式简介;Linux 基础知识;交叉编译;Linux 内核配置;Linux 内核移植;根文件系统制作;Boot Loader 制作。
第二学期 教学课时5个月
ZKQ090201 基于ARM7开发平台设计 ARM技术简介以及基础知识,ARM应用入门;ARM启动代码分析、链接脚本讲解;μC/OS II V2.85在ARM的移植;μC/OS II内核精讲;ARM经典实验。 •高级嵌入式开发工程师
•Linux设备驱动开发工程师
•嵌入式系统工程师
•嵌入式技术支持工程师
•嵌入式软件开发工程师
•嵌入式硬件开发工程师
•ARM平台嵌入式开发工程师
ZKQ090202 基于ARM9开发平台设计 嵌入式linux开发平台简介及开发流程;嵌入式Linux开发环境的建立;多线程应用程序设计;串行端口程序设计;A/D接口实验;D/A接口实验;简单的嵌入式WEB服务器实验;RS-485通讯实验;直流与步进电机实验;内核驱动设计入门――模块方式驱动实验;内核驱动设计实验――触摸屏驱动;内核驱动设计――网卡驱动移植及实验;内核驱动设计――LCD驱动移植;音频驱动及实应用实验;USB接口试验
ZKQ090203 FPGA2/SOPC 基于NIOSII嵌入式软处理器的SOPC(可编程片上系统)系统的开发基础和设计技巧以及FPGA最小系统设计方法;SOPC实验。
ZKQ090204 Linux网络编程 Socket 套接字(TCP、UDP);原始套接字;多进程、多进程网络编程
ZKQ090205 TCP/IP协议编程 TCP/IP协议分析;构造数据包。
ZKQ090206 C++QT图形编程 Qt开发环境安装与配置;C++面向对象基础;Qt内置组件应用与自定义组件开发;Qt信号与槽机制;Qt模型应用(树、表、栈);Qt多线程与网络;Qt图形开发;Qt内置数据仓库技术(mysql、sqlite);Qt解析XML。
ZKQ090207 嵌入式Linux系统原理 Linux内核简介;进程管理及调度;中断及中断处理程序;下半部和工作队列;内核同步方法;定时器和时间管理;内存管理;进程地址空间;内核调试技术;内核可移植性概述。
ZKQ090208 嵌入式Linux驱动开发 设备驱动及内核模块概述;构造和运行模块;编写字符设备驱动程序I;编写字符设备驱动程序II;高级字符驱动程序;与硬件通信;中断处理;Linux设备模型;内存映射操作;DMA技术及应用;块设备驱动程序;网络设备驱动程序;贞缓冲设备驱动;PCI设备驱动程序;USB驱动程序。
课程实训 实训课时2个月
3-5名学员组成一个项目小组,项目自选,项目小组提交项目报告,经审核同意后拨付项目经费,在项目指导教师指导下项目实施,项目完成应有成型产品,组织召开项目完成报告会,项目小组提交项目完成报告书,项目结束。
2010-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人