历史上的今天
返回首页

历史上的今天

今天是:2025年02月03日(星期一)

2018年02月03日 | 基于32位微控制器MC68HC376的开发设计和应用

2018-02-03 来源:eefocus

由于高帧频、大面阵CCD数字相机的图像数据量非常巨大,存储流量超过50MBps。而且图像输出速率也比较高,所以高速图像数据的实时记录是一个不易解决的问题。高帧频、大面阵CCD相机的数字视频存储的一般方案是基于高性能计算机体系结构,把PCI总线的视频采集卡与高性能IDE硬盘系统或基于PCI-SCSI桥的SCSI存储硬盘系统结合起来完成任务。这种方案实现起来比较容易,但存在总线瓶颈问题,一次存储占用两次PCI总线,而且还受到操作系统和文件系统的限制,因而在实际应用中存储速度很难突破40MBps。针对这一问题,本文设计出脱离计算机平台的图像数据存储方式,采用FPGA芯片控制时序,运用VHDL语言编程实现微处理器和DMA控制功能,从而协调SCSI协议处理器实现数据的传输。FPGA的运用比单独使用DMA控制器减少了电路板的体积,降低了成本,提高了存储的速率。

1 系统的硬件结构设计

实现SCSI协议和硬盘存储,通常需要有微处理器、DMA控制器、SCSI协议控制器、数据缓存器等硬件支持和相应的软件控制模块。而本系统。DMA控制通过对FPGA编程来实现。图像数据存储系统结构图如图l所示。



1.1 微处理器

微处理器负责对各个模块进行协调和控制。本系统所设计的专用高速硬盘存储设备实现数据的持续高速存储,要求处理数据的速度高,因此采用DSP微处理器。微处理器主要功能如下:

    (1)完成与外接数据的传输起始、结束控制。
    (2)对FPGA进行复位、开始操作。
    (3)对FAS466的初始化操作,对传输的异常情况进行中断处理。
    (4)对协议控制芯片内部寄存器的读写控制,从而控制SCSI总线的命令传输和状态监控。对SCSI的命令信息进行解释、执行、管理;对来自SCSI总线的信息状态进行翻译、执行、管理。

1.2 DMA控制器

DMA控制器控制数据发送或接收源的数据缓冲器与SCSI协议控制器内部缓冲器之间的数据传送,这样通过与协议控制器的DMA接口相协调以控制数据源与SCSI总线间的数据传送。本设计采用FPGA器件,利用VHDL语言编程实现DMA控制器功能.而不采用专用的DMA控制器,主要考虑以下一些因素:本设计的数据传输速率达到50MBps,而一般的专用DMA控制器难以胜任;专用的DMA控制器与SCSI协议控制芯片之间的连接需要大量的逻辑转换电路和外围连线,使设计难度加大;使用FPGA器件,除了完成DMA控制功能之外,还可以把电路中的逻辑转换、系统复位等模块设计进去,减小了设备的体积,方便了以后对系统的升级和改进。

1.3 SCSI协议处理器(FAS466)

SCSI协议处理器是SCSI总线操作的执行部件,各公司都有专门的SCSI集成电路芯片作为协议控制器,如QlogIC公司的FAS368M、FAS466等。FAS466(Fast Architecture SCSI Processor)处理器是Qloglc公司1999年上市的一种高性能SCSI引擎,它源于Qlogic公司的TEC450/452三重嵌入式控制的铝系列,可提供Fast40的同步传输速率,它的同步数据宽总线传输速率可达80MBps;支持先进的SCSI自动配置模式的1层和2层协议;内部嵌有微控制器,能够通过编程方式灵活地协调SCSI作业队列.可以工作在启动或目标模式并支持单端或低电压差分模式的SCSI连接。

FAS466区别于其他SCSI协议处理器的最大特点是:它采用微处理器和DMA接口结构,而常见的SCSI协议控制器采用PCI接口总线结构。这是本设计采用FAS466的一个主要原因。采用微处理器和DMA接口结构,可以通过DSP对传输进行控制,脱离微机平台,减少传输带宽限制,使数据存储系统具有非常好的灵活性和可移植性。FAS466由SCSI控制器、微控制器、DMA接口和微处理器接口四个模块组成。外部微处理器通过微处理器接口对FAS466进行控制,协议控制器接受微处理器的操作指令,如总裁、选择、失连、复位总线等。SCSI控制器提供灵活、有效的底层SCSI协议控制,微控制器则负责控制数据从DMA接口到SCSI硬盘的传输以及各个模块之间的协调。FAS466的内部结构如图2所示。



1.4 数据缓存器

在设备的输入接口部分,需要有数据缓存单元。数据缓存的目的是为SCSI的高速DMA传输做好准备,使两边数据传输速度匹配。数据的流向一般是一个口进,一个口出,不对信号进行任何处理。普通的存储器在写入的同时不能读取,双口随机存储器RAM虽然也可完成这个任务,但是由于它需要复杂的地址译码电路,所以不采用。采用FIFO芯片,可以去掉复杂的缓存器译码电路,大大简化了系统设计。缓存单元在结构上相当于先进先出(First In First Out,FIFO)队列,即先到的数据先被存储。本设计中FIFO选用IDT公司的IDT72V2113芯片。

2 系统的软件设计

软件设计是本系统设计的重点和难点,它负责对相关硬件的控制和协调,最终实现SCSI协议、硬盘的控制和DMA传输等。软件设计分为SCSI控制软件和DMA控制器的FPGA实现两部分。下面分别进行讨论。

2.1 SCSI控制软件

一般来说,要完成一次数据交换必须完成SCSI总线的仲裁、选择、消息、命令、数据和状态等阶段。这些阶段,微处理器通过对FAS466寄存器的读写控制来实现。

FAS466的寄存器主要有:

    (1)命令寄存器:DSP通过向命令寄存器写入相应指令,控制FAS466完成初始化、复位、总线分配与复位以及SCSI总线各个阶段的转变等功能。
    (2)FIFO寄存器:这是一个128字节的双端口RAM,SCSI硬盘和FAS466之间的数据交换都通过该FIF016字(深)的FIFO寄存器来完成。
    (3)传输计数寄存器:是一个减法计数器,用于保存一次DMA数据传输的字节数。
    (4)中断寄存器:DSP通过FAS466中断寄存器了解SCSI命令的执行情况,从而决定程序的执行流向。

SCSI控制软件流程如图3所示。首先初始化SCSI控制器,然后SCSI控制器与SCSl硬盘建立同步传输协议,在硬盘准备好的情况下才可以发送各种SCSI命令,如读、写等,同时处理好各种意外情况的发生。



2.2 DMA控制器的FPGA实现设计

FAS466外部DMA控制器由FPGA实现。FAS466通过DREQ信号有效请求数据传输,当DMA控制器检测到DREQ有效并且外部FIF0非空时,使DACK有效并通知FAS466开始DMA传输。DMA控制器的状态机如图4所示。



FPGA除了实现FAS466的外部DMA控制器之外,还实现FAS466与外部微处理器的部分逻辑和其他逻辑控制。FPGA内部逻辑功能模块如图5所示。

本文在FAST-40 SCSI协议基础上,对实时高速数字视频SCSI存储系统的软硬件进行了设计。利用FAS466作为SCSI控制器宴现启动器功能,控制两块SCSI硬盘实现直接存储,充分利用SCSI总线的带宽,从而大幅度提高了系统的效率。初步建立了较完善实用的直接存储的结构体系,实现存储流量达70MBps。为解决大面阵、高帧频CCD数据实时存储奠定了良好的基础。该项技术的解决,将会大力促进在科学研究、军事技术、尤其在航天、航空侦察及高速数据记录领域的应用发展。

推荐阅读

史海拾趣

东科半导体(DK)公司的发展小趣事

面对电源管理芯片市场需求的不断增长,东科半导体(DK)公司决定投资扩产。公司投资数亿元建设新的生产线和研发基地,提升产能和研发能力。同时,公司还加大了对新技术、新产品的研发投入,不断推出具有竞争力的新产品。通过投资扩产和加大研发投入,东科半导体(DK)公司进一步巩固了其在电源管理芯片市场的领先地位。

以上五个故事从不同角度展现了东科半导体(DK)公司在电子行业中的发展历程和成就。这些故事不仅记录了公司的成长轨迹,也反映了公司在技术创新、产学研合作、市场拓展和品牌建设等方面的努力和成果。

全志(Allwinner)公司的发展小趣事

2010年,平板电脑市场的崛起为全志科技带来了巨大的发展机遇。全志迅速调整产品策略,推出了AP处理器A系列,成功抓住了这一市场风口。其芯片产品在平板电脑领域的应用,不仅提升了公司的市场份额,也为公司的未来发展奠定了坚实的基础。

超音(CY)公司的发展小趣事

品质是超音一直以来的追求。公司注重产品质量管理,建立了完善的质量检测体系,确保每一件产品都符合高标准的质量要求。同时,超音还加强了品牌建设,通过广告宣传、赞助活动等方式提升品牌知名度和美誉度。这些努力使得超音在消费者心中树立了良好的品牌形象,为公司的长期发展奠定了坚实的基础。

微芯(CMOSIC)公司的发展小趣事

作为一家以技术创新为核心竞争力的企业,微芯生物始终保持着对新技术和新领域的关注和研究。他们不断投入资金和资源用于研发创新药物和新技术平台,并积极探索新的治疗方法和应用领域。通过持续的创新和突破,微芯生物在生物医药领域取得了显著的成绩和贡献,也为公司的发展注入了源源不断的动力。

以上五个故事是基于微芯生物的发展经历而虚构的,但它们也反映了电子行业中许多公司可能面临的发展挑战和机遇。在电子行业中,技术的创新、市场的拓展、并购整合、国际合作以及持续的创新与突破都是推动公司发展的重要因素。

BJB公司的发展小趣事

在市场竞争日益激烈的环境下,BJB公司注重品牌建设和形象提升。公司加强了品牌宣传和推广力度,通过广告宣传、媒体报道等多种方式提升品牌知名度和美誉度。同时,BJB还积极参与社会公益事业,履行企业社会责任,赢得了社会各界的广泛认可和赞誉。

百蓉(ECE)公司的发展小趣事

在电子行业的激烈竞争中,百蓉(ECE)公司应运而生。创立初期,公司仅有几个热爱电子技术的年轻人,他们在一个小小的办公室里,凭借对电子技术的深厚兴趣和专业知识,开始研发新产品。那个时代,智能手机刚刚开始兴起,他们敏锐地捕捉到了触摸屏技术的巨大市场潜力。于是,他们投入大量时间和精力,研发出了一款高性能、低成本的触摸屏控制器,这一创新产品迅速在市场上获得了成功,为百蓉公司的发展奠定了坚实的基础。

问答坊 | AI 解惑

晒板子28335

28335电力电子与电力传动专用控制板 …

查看全部问答>

1-wire系统中TM卡的单片机等效替换

1 TM卡简介   TM(Touch Memory)卡是美国Dallas公司的专利产品。它采用单线协议通信,通过瞬间碰触完成数据读写,既具有非接触式IC卡的易操作性,又具有接触式IC 卡的廉价性,是当前性价比最优秀的IC卡之一。它的外形类似于一个钮扣(button) ...…

查看全部问答>

浙江大学RF设计(前端系统)(pdf)

第10个附件是一个超外差高频头的实例,很宝贵的资料…

查看全部问答>

说说模拟设计那点事儿和那几本书

我学习模电有一段时间了,向大家推荐几本自认为的\"宝典\",谈下自己使用它们的感受以及在学习模电过程中的体会,供后来者参考: 1. 拉扎维的《模拟CMOS集成电路设计》,我们研二模电课的教材,汪宁老师把这门课讲得可圈可点。当时没意识到有其他 ...…

查看全部问答>

基于Win32 API函数和多线程技术的串行通信编程.pdf

基于Win32 API函数和多线程技术的串行通信编程.pdf…

查看全部问答>

无法收到PBT_TRANSITION消息

在WinCE6下一个应用程序里,使用RequestPowerNotifications(hPowerNotificationMsgs, POWER_NOTIFY_ALL); 去请求power状态改变的通知。可是从开始菜单进入suspend的时候并没有收到任何power消息,但是按Power Button从suspend状态resume回来的时 ...…

查看全部问答>

RAS拨号监视消息

如何在RAS异步拨号时,得到当前拨号的状态,我写的消息和回调函数都可以在PC机上用,但在CE上都不能用(CE只支持消息),代码如下:消息的、 先注册了消息: const   UINT   WM_RASEVENT   =   ::Regist ...…

查看全部问答>

u-boot 的 配置问题.(从NAND启动)

提示的是 bad crc or nand 在网上查了下,应该是env的问题!麻烦各位有经验的朋友,说一下具体怎么改! 我用的是mini2440,page size应该是2048的,但是u-boot启动输出的还是512~已经进行过CONFIG_了…

查看全部问答>

请教高手:如何在扫描输入完成后,光标自动跳到下一个TEXTBOX

我想让程序在扫描输入完成后,光标自动跳到下一个TEXTBOX 可是我在WINCE上捕捉不到扫描键,也不知道如何区分 输入 是由键盘上输入的还是扫描读入的 哪位高手知道的帮帮我,谢谢 啦 …

查看全部问答>

VxWorks嵌入式国际认证培训班

        为满足各大企业及研发机构对嵌入式操作系统VxWorks人才需求,顺应广大学员学习嵌入式操作系统、获得国际认证证书、增强就业竞争力、取得高薪职位的要求,上海双实科技与上海张江信息技术专修学院继续合作举办VxWorks嵌 ...…

查看全部问答>