日立SH3单片机最小系统的建立

发布者:AngelicWhisper最新更新时间:2012-05-23 来源: 电子设计工程 关键字:SH3单片机  最小系统  32位处理器 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    SH系列是日本日立公司推出的32位高档的、RISC型单片机系列,到现在为止,已经推出了6种类型的单片机系列:基本型的SH1,改进型的SH2,低功耗的SH3,增强型的SH4,以及和DSP结合的SH2-DSP和SH3-DSP。
    SH3系列是低功耗型SH处理器,高性能RISC结构,在时钟133 MHz时,性能可以达到173 MIPS。在2.25 V工作时,功耗为400 mW。SH3的SH7709,其消耗功率每瓦运行的指令数达到315 MIPS,能源利用效率很高。它内部集成了32位乘法器、4路8 KB CHACHE、存储器管理单元MMU、一些通用内部控制模块和外部接口模块。其性能可以与ARM公司的ARM9系列处理器相媲美,在世界的嵌入式领域占有很大的份额,但是由于SH3系列单片机在国内可参考的资料有限,技术支持不到位等种种原因致使ARM系列几乎独霸国内32位处理器市场。SH3系列处理器无法在国内发挥它强大的功能。本文介绍了如何用HD6417708S型号SH3单片机从硬件到软件从无到有建立起SH3系列单片机最小系统,并用系统的串口模块来验证系统能否正常运行。有了这个最小系统平台开发人员只要在系统中添加自己需要的功能模块就可以开发出需要的产品,在ARM一
通天下的形势下给国人增加一个选择方向,同时对于嵌入式领域正从零开始研究某款处理器的开发人员也有一定的借鉴之处。

1 最小系统的整体介绍
    用HD6417708S型号SH3单片机建立的最小系统的结构框图如图1所示。此最小系统包括MCU(HD6417708S)、电源模块、存储器模块、MCU外围辅助电路,为了可以直观地看到系统能够正常运行增加了串口通信模块用于演示。

b.JPG



2 硬件平台的搭建
2.1 电源模块
    “HD6417708S”单片机理想的工作电压是3.3 V,上下可以有0.3 V的波动,存储器与串口芯片都支持3.3 V供电。在此的电源模块是以DCDC开关电源芯片“1CZ21H”为核心的一个单片开关电源电路,DC8V-DC28V输入,3.3 V供电时可以提供1.5 A的电流,电路原理如图2所示。

c.JPG[page]

2.2 串口通信模块
    该模块分别用到MD2/RXD(84管脚),MD1/TXD(85管脚),MD0/SCK(86管脚)3个管脚,并且他们都属于功能复用管脚。当3个管脚作为MD0,MD1,MD2功能管脚时为模式选择控制管脚,复位时它们的状态决定了时钟电路的设置,对应关系可参考参考文献。
    系统正常运行以后时钟模式控制功能已经完成了,如果系统要用串口功能时就可以用RXD(84管脚)、TXD(84管脚)进行全双工通信。现在问题是硬件怎么设计能同时满足这2种功能。在此提供2种方案:
    方案1:串口芯片使用MAX3223芯片,这款芯片有功能使能管脚,如果芯片没有使能时芯片管脚处于高阻状态。提供的方案框图如图片3所示:当系统复位时让MAX3223处于不使能状态,MAX3223的RXD、TXD引脚处于高阻状态,添加辅助电路就可以随心所欲的给SH7708单片机提供模式控制信号了。当系统运行起来时SH7708肯定会通过Area0的片选信号g.jpg访问Area0区的ROM,所以g.jpg是否出现低脉冲可以作为系统是否已经运行的标志信号,将g.jpg信号送给模式控制辅助电路,一旦检测到g.jpg低脉冲就让模式控制辅助电路输出变为高阻状态,同时使能MAX32 23芯片就可以了。模式控制图3中方案1模块用一个组合逻辑门和一个触发器就可以实现功能。

d.JPG


    方案2:采用CPLD将单片机和串口芯片隔开。这样就可以随心所欲地控制了,具体方案如图4:由于在系统中还用到了CPLD的其他资源,所以选择了这种方案。如果系统没有在其他功能中用到CPLD的话建议用方案1,因为方案1成本会低很多。

e.JPG

[page]

2.3 存储器模块
    SH3单片机内部没有ROM空间,系统必须在外部总线上连接ROM存储器。SH3单片机总线采用地址总线与数据总线分离的设计模式,地址总线最大支持64 MB存储空间。满足这种总线模式的ROM都可以使用(SH3单片机内部没有NAND FLASH控制器,所以不要选择NAND FLASH存储器)。由于一条指令占16 b空间,所以选一片8 MB 16位位宽的FLASH存储器LH28F640BFN。
    SH3系列处理器内部嵌有8 KB CACHE,在不使用缓存功能时有4 KB CACHE空间可以当作一般的RAM使用。由于本次只是讨论最小系统的建立,程序比较简单,4 KB空间足以。在后续介绍比较大的运用时会介绍系统连接的SDRAM存储器,在以后其他文章中讨论。
2.4 MCU外围辅助电路
    (1)复位电路:HD6417708S单片机需要最短为10 ms的低电平复位信号,如果你的系统中其他芯片也需要Reset信号时请综合考虑一下复位信号的长度与电平。本系统的复位电路采用了一款集复位与看门狗电路于一身的“1075”复位芯片。
    (2)时钟电路:HD6417708S单片机的时钟模块有2个管脚:EXTAL(79)和XTAL(80)。如果想用无源晶振的话将晶振连到EXTAL和XTAL之间,两管脚对地各接一个18 pF的电容就可以了。如果想用有缘晶振的话将晶振的时钟输出管脚接EXTAL管脚就行了。
    (3)PLL模块外围辅助电路:HD6417708S单片机锁相环电路要求在管脚74,管脚77分别对地接一个470 pF的电容。
    (4)几个特殊管脚的处理管脚87为Bus requst输入功能管脚,如果系统正常运行时给这个管脚加一个低电平信号,单片机会释放总线。如果您的系统有多个处理器需要共用总线时通过对这个管脚的合理控制可以实现总线分配,如果系统不用单片机释放总线时就可以给这个管脚加一个10 kΩ的上拉电阻,这个管脚一定不要悬空。
    管脚89~管脚93为外部中断输入管脚。管脚89为管脚NMI(非屏蔽中断),为边沿触发中断。
    管脚90~管脚93为可屏蔽中断管脚,为电平触发中断。这些管脚都不能悬空,如果没有用到要将这些管脚各加上10 kΩ的上拉电阻就可以了。
    管脚94是一个PCMCIA总线控制的管脚如果没用到这种存储器的话就可以加上10 kΩ的上拉阻就行了,不会影响其他部分。
    MD3(管脚103)、MD4(管脚104)、MD5(管脚130)是3个模式控制引脚。MD3,MD4控制着Area0的总线宽度,对应关系请参考参考文献。
    MD5复位时的状态告诉单片机总线上的存储器中数据(包括code和data)的存储方式,复位时MD5为零时说明存储器中的数据是按大端模式存放的,复位时存储器中的数据应选择小端模式。
    (管脚132)是一个等待请求管脚,低电平有效。当处理器的访问速度超过外部设备的反应速度时可以将这个管脚置低让处理器进行等待。如果系统的外部设备足够快不用这个功能的话要加一个弱上拉电阻,绝对不能悬空或接地。自此,带监视串口的HD6417708S单片机最小系统硬件平台就搭建好了,编写相关软件就可以让系统运行起来。

3 软件平台的搭建
    SH3系列单片机的开发环境是由日本瑞萨公司专门提供的“High-performance Embedded Workshop”软件,有很多版本,在瑞萨公司的网站上可以下载,我下的是“shv9200_ev.exe”版本。
    首先安装HD6417708S单片机的开发工具“High-performance Embedded Workshop”软件,安装完成以后会在程序目录里出现一个“Renes as”安装程序,里面的“High-performance Embedded Workshop”图标就是开发软件的图标。
    建立模板工程。双击开发工具图标出现一个工程对话框,选择第一项“Create a new project workspace”,然后点击OK按钮进入“New Project Workspace对话框。在“Workspace Name”对话框里为项目命一个名字,例如“123”,系统会把“ProjectName”与“Directory”
项的名字都默认为“123”,如果想指定工程的保存路径的话就点击“Browse”按钮选择想保存程序的地方,其他选项用默认选项就可以了,点击“确定”按钮进入下一个对话框。在“CPUSerise”选择框里选择“SH-3”选项,在“CPUType”选择框里选择“SH7708”选项,然后点击“Next”按钮进入下一个对话框界面。将“Endian”选项设为“Little”模式,这个选项很重要,前面“MCU外围辅助电路”部分介绍的MD5管脚就是用来设置程序存储大小端模式的,如果MD5管脚设置的大小端与软件设置的不一样整个程序就乱了。因为硬件将MD5管脚设置成了小端模式的状态所以在此将“Endian”选项设为“Little”模式。其他选项用默认值就行了,然后点击“Next”按钮进到下一个对话框界面。在对话框的最下面的“Generate Hardware Setup Function”的下拉菜单中选择“C/C++ source file”选项,然后连续点击“Next”按钮直到出现“Targets”选项界面.将“SH-3Simulator(Little endian)”选项选上,然后连续点击“Next”按钮直到图标变灰,再点击“Finish”按钮就进入到工程的主界面了,模板工程就建立完成了。
    模板工程相关文件介绍。由于建立的是一个模板工程,工程建立好以后就带了一些文件包括启动代码、异常处理程序以及为软件开发人员提供的程序接口等等。现将几个关键文件功能按照程序执行顺序介绍如下:
    首先在程序目录里点击“handle.src”文件,找到段标志“.sectionRSTHandler.code”,该段的程序代码就是单片机上电复位后首先执行的代码。然后点击“resetprg.c”文件,里面有一个“void PowerON_Reset(void)”函数,单片机执行完“handle.src”文件中的“.section RSTHandler,code”段的程序代码后跳到了该函数运行,如果想知道为什么跳到了这个函数请计算出“.section RSTHandl er,code”程序段中的“JMP”指令要跳转的地址以及“void PowerON_Reset(void)”所分配地址会发现两个地址对应同一个存储单元。在“void PowerON_Reset(void)”函数中调用的“set_vbr((void*)((_UINT)INTHandlerPRG-INT_OFFSET))”函数,“_INITSCT()”和“_INIT_ IOLIB()”都是系统库函数,在编译器手册中它们的功能都有介绍,在此不详细介绍。
    点击“hwsetup.c”文件就可以看到“void PowerON_Reset(void)”函数中调用的HardwareSetup()函数的具体内容,本函数是用来初始化单片机总线及各个外围功能模块的。set_cr(SR_Init)函数是用来初始化状态寄存器的一个系统函数,与中断的设置关系较大,对于本系统意义不大,本着简化系统的原则将这个函数注掉。然后就到“main()”函数了,点击“123.c”文件发现“main()”函数是一个空函数,这是系统为程序员提供的接口,在这个函数里添加您的程序代码就行了。至此模板工程里的相关文件就介绍完了。系统上电,单片机运行完模板自带的初始化程序以后就跳到了“main()”函数,程序员只要在此函数中添加需要的功能代码就可以实现所需要的功能了。

[page]

    串口监视程序的实为了验证系统真的运行起来了,硬件上增加了串口监视模块。

f.JPG


    在此来实现下面这个简单功能:将串口波特率初始化为9 600b/s,通过串口接收一个字节的数据并通过串口发送出去。通过这个简单的功能验证系统工作正常。程序流程图如图5所示。编译应用程序,最终生成摩托罗拉格式的机器码,将有用的数据解析出来烧到系统的ROM中系统就可以上电演示了。

a.JPG


    系统测试。将本系统与电脑通过串口线连接起来,电脑运行串口软件发送字节“0xaa”给系统板,电脑串口软件的接收区出现“aa”,如图6所示:通过现象可以说明系统正常运行了。自此,HD6417708S单片机最小系统从无到有就算建立成功了。本系统详细阐述了SH3系列单片机开发应用时可能出现问题的解决方法,并用串口实验验证了最小系统的正确性。此最小系统基本将SH3处理器与其他处理器的不同之处都展现出来了,在此基础上开发人员只要运用单片机开发的共性理论就可以很好地使用SH3单片机,大大缩短开发周期,降低开发难度。同时也为ARM-统天下的国内工程师提供了如图6上位机串口监视软件发送和接收的数据更新的选择方向。

4 结语
    本最小系统已经在工业产品中的到应用,实践证明,该最小系统运行稳定,能很好地完成产品指标。

关键字:SH3单片机  最小系统  32位处理器 引用地址:日立SH3单片机最小系统的建立

上一篇:单片机编程器分类及功能详解
下一篇:基于STC单片机的太阳能LED路灯控制器设计

推荐阅读最新更新时间:2024-03-16 13:00

基于MC9328MX1嵌入式最小系统的设计
引言 嵌入式系统是以实际应用为核心,对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统,随着嵌入式系统相关技术的迅速发展,嵌入式系统功能越来越强,应用接口更加丰富,根据实际应用的需要设计出特定的嵌入式最小系统和应用系统,是嵌入式系统设计人员应具备的能力,由于ARM嵌入式体系的结构的一致性以及外围电路的通用性,采用ARM内核的嵌入式最小系统的设计原则和设计方法基本相同, 1 MC9328MX1概述 MC9328MX1是Motorola公司基于ARM920T的龙珠(Dragon Ball)MX1处理器,MC9328MX1内含ARM公司设计的16/32bit ARM920T微处理器内核,采用RISC架构的ARM微处理
[单片机]
基于MC9328MX1嵌入式<font color='red'>最小系统</font>的设计
基于MC9328MX1嵌入式最小系统设计
引言 嵌入式系统是以实际应用为核心,对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统,随着嵌入式系统相关技术的迅速发展,嵌入式系统功能越来越强,应用接口更加丰富,根据实际应用的需要设计出特定的嵌入式最小系统和应用系统,是嵌入式系统设计人员应具备的能力,由于ARM嵌入式体系的结构的一致性以及外围电路的通用性,采用ARM内核的嵌入式最小系统的设计原则和设计方法基本相同,本文基于MC9328MX1芯片介绍ARM嵌入式最小系统设计的一般方法。 1 MC9328MX1概述 MC9328MX1是Motorola公司基于ARM920T的龙珠(Dragon Ball)MX1处理器,MC9328MX1内含ARM公司设计的16/32bi
[单片机]
基于MC9328MX1嵌入式<font color='red'>最小系统</font>设计
51单片机实现最小系统的原理和电路与编程设计说明
本课以AT89S51单片机最小系统来教你如何实现单片机编程,该程序驱动单片机P1.7端口上的发光二极管不停闪烁,系统程序用keil 汇编语言编写,电路参考下图1所示。 《51单片机最小系统原理及编程电路设计》 首先来认识一下发光二极管(LED),发光二极管实物如下图2所示,发光二极管具有单项导电,体积小、耗电省、寿命长、响应速度快、显示清晰等特点,广泛用于电子电路中当作LED数码管、LED指示灯、LED电子显示屏,既然是51单片机最小系统我们当然只进行了最简单的电路设计与编程 发光二极管导通时,产生一个正向的工作电流IF,工作电流根据发光二极管的材料、功率等不同,额定电流一般在10~40mA左右,发光二极管导通时的正向压降
[单片机]
51<font color='red'>单片机</font>实现<font color='red'>最小系统</font>的原理和电路与编程设计说明
意法半导体(ST)在下一代32位微控制器内采用ARM CORTEX-M3处理器
ARM Cortex-M3 处理器为意法半导体开发低成本、低功耗的应用产品提供高性能的 32 位技术 中国  — 世界领先的微控制器开发商 意法半导体 ( 纽约证券交易所 : STM) 与 ARM 在 加州 圣克拉拉举行 的 ARM 开发商大会上 宣布 , 意法半导体将在其下一代 32 位微控制器系列产品内集成 ARM   Cortex - M3 处理器。 ST 是 ARM 开发新的 Cortex-M3 处理器的主要合作伙伴之一,通过签订这个许可证协议, ST 将能够加快市场从高端的 8 位、 16 位微控制器
[焦点新闻]
CKS32F103C8T6最小系统板调试记录——ISP下载(串口下载)
ISP下载,和我们用STC89C52系列单片机一样。需要两根信号线。要进行ISP下载,可按照如下检查: 1.检查BOOT0=1,BOOT1=0 2.检查TXD、RXD是否已经交叉连接 3.检查软件端口号 4.如果前3步都正确无误,检查芯片上的BOOT0,和BOOT1的电压值。 BOOT0 2V,BOOT1 0.3V。如图 我买到的最小系统板居然给BOOT0,和BOOT1都串联了100K的电阻。导致BOOT0上的电压只有0.9V(正常值应该是2V以上),所以无法切换到ISP模式下载,导致我浪费了几天时间。-_-
[单片机]
CKS32F103C8T6<font color='red'>最小系统</font>板调试记录——ISP下载(串口下载)
51单片机最小系统介绍
前言 在学习51单片机的时候我们最先接触到的就是单片机最小系统,单片机最小系统又叫最小应用系统,顾名思义就是能够使单片机实现简单运行的最小元件的组合。 提示:以下将以51单片机最小系统为例进行介绍 一、51单片机最小系统模块构成 二、电源电路 一个系统的正常工作离不开电源,单片机常见的电源电压分为5V 和低功耗的3.3V。本文介绍的是STC89C51这款芯片,该芯片是在5V电压下正常工作。 1.电源引脚 VCC(VDD):第40脚,电源端,接+5V电源,用于给整个系统供电。 VSS(GND):第20脚,接地端,接GND端。 EA :第31引脚,EA为片外程序存储器选用端,该引脚低电平时,选用片外程序存储器,高电平或悬空时选
[单片机]
51<font color='red'>单片机</font><font color='red'>最小系统</font>介绍
基于ISP 的简约型51单片机实验板的设计
0 引言 现在市面上通用的51内核单片机主要有ATMEL公司的AT89S51、AT89S52系列,飞利浦公司的P89C51RXX系列和P89LPC900系列。其中AT公司的52系列是51系列的增强版本,飞利浦公司的P89C51RXX系列的内部功能跟AT89S51基本相同,都是增强型51内核。通过比较选择飞利浦公司的P89C51RA2BN单片机,该单片机内部有8K的FLASH ROM程序存储器,可以满足大部分的实验和小系统设计。而且该单片机跟AT89S52相比,还有内部PCA(可编程计数器阵列),和512字节的数据存储器,7个中断源和集成内部硬件看门狗。该单片机的引脚和普通51单片机完全兼容,可以做为51单片机的代换产品。另外该型
[单片机]
基于ISP 的简约型51<font color='red'>单片机</font>实验板的设计
51单片机概述以及设计最小系统
单片机是什么? 在学之前必须要明白这个东西是什么,怎么用,为什么能这样用。理解这三个问题,那么51单片机就可以学得很好。 单片机的对比 这里只对8051与8052进行对比: 型号 Flash(ROM) RAM I/O 定时/计数器 中断源 引脚数 AT89C51 4KB 128B 32 2 5 40 AT89c52 8KB 256B 32 3 8 40 引脚描述 20引脚VSS:电源负极 40引脚VCC:电源正极(+5V) 19引脚XTAL1:片内时钟振荡器的输入端;当使用片内时钟振荡器时,这个引脚接石英晶体和微调电容。 18引脚XTAL2:片内时钟振荡器的输出端;当使用片内时钟振荡器时,这个引脚接石英晶体和微
[单片机]
51<font color='red'>单片机</font>概述以及设计<font color='red'>最小系统</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved