2016年2月14日星期日

NUCLEO开发板硬件电路分析(四) - ST-LINK编程/调试电路


NUCLEO硬件电路分析(四) - ST-LINK编程/调试电路

NUCLEO板嵌入了ST-LINK V2-1调试仿真器,具有虚拟串口功能、大容量存储功能以及仿真调试,和ST-LINK V2不同的是,板载的仿真器仅支持SWD仿真模式,不支持SWIM接口。
ST-LINK V2-1的MCU采用LQFP48封装的STM32F103CBT6,具有128KB的内部Flash和20KB的SRAM,最高运行主频可达71MHz。外设接口比较丰富,有两个12位的ADC、两个I2C、两个SPI、三个USART、USB和CAN接口。
NUCLEO板识别码(Board Ident):STM32F103的PC13和PC14作为NUCLEO板的识别码,当PC13=0时,认为该板属于NUCLEO系列。
主时钟:STM32F103外接8MHz的晶振,采用外部高速时钟信号HSE作为主时钟。
虚拟串口功能:STM32F103的PA2和PA3作为USART使用,与目标MCU的串口进行通讯,作为虚拟串口的物理实现接口。
SWD调试接口:当CN2的跳线短接时,ST-LINK/ V2-1可以编程调试NUCLEO板,这时用到4个信号:SWCLK、SWDIO、T_NRST和T_SWO。当当CN2的跳线短接时,ST-LINK/ V2-1可以作为独立的编程器通过CN4接口对外部应用程序的MCU进行编程调试。CN4接口的定义如下:
引脚
CN4
描述
1
VDD_TARGET
应用程序的VDD
2
SWCLK
SWD 时钟
3
GND
4
SWDIO
SWD 数据输入/输出
5
NRST
目标MCU的RESET
6
SWO
保留

LED指示灯:ST-LINk通过LED指示灯显示通讯连接状态,可以显示绿色、橙色和红色三种颜色。LED指示灯LD1采用的是安华高科技AVAGO的多色LED灯HSMF-A201-A00J1,该指示灯的手册可以在安华高的官网下载,下载地址:http://docs.avagotech.com/docs/AV02-0501EN。 LD1默认的颜色是红色。 LD1变成绿色,表明PC和ST-LINK / V2-1的通讯正在进行中,其他通讯状态信息可以参考NUCLEO板的用户手册UM1724。LD1由微控制器的PA9控制,实现原理如下:当控制脚PA9输出高电平时,LD1发出红光;当控制脚PA9输出低电平时,LD1发出绿光;当控制脚PA9输出一个1 kHz左右的频率时,高、低电平的变化使得LD1指示灯交替发红、绿光,但因其颜色变化频率较快,人眼所见光为橙色。在设计过程中,应注意,LD1的电流不应低于5mA。

NUCLEO开发板硬件电路分析(三) - 扩展接口部分电路

NUCLEO硬件电路分析(三) -  扩展接口部分电路

在上一篇《NUCLEO硬件电路分析(二) - MCU电路分析》我们分析了NUCLEO的MCU部分设计电路,本篇文章主要介绍一下NUCLEO板的扩展接口电路设计部分。
NUCELO带有两种类型的扩展资源:Arduino Uno V3接口和ST Morpho扩展插头,其中ST Morpho扩展插头支持访问所有STM32的I/O。

Arduino Uno V3接口
下图以NUCLEO-F103为例,展示了Arduino接口对应MCU的IO引脚或功能。

ST Morpho扩展插头
下图以NUCLEO-F103为例,展示了ST Morpho扩展插头对应MCU的IO引脚或功能。
NUCLEO板的扩展接口电路部分位于设计文件Connectors.SchDoc中。Arduino接口由CN5、CN6、CN8和CN9端子共同组成,采用的是单排插座的方式。ST Morpho扩展接口由CN7和CN10组成,采用的是双排19×2插针。

参考资料
2.  MB1136C_schematic_layout图纸 http://www.stmicroelectronics.co ... cleo_64pins_sch.zip

NUCLEO开发板硬件电路分析(二) - MCU电路分析

NUCLEO硬件电路分析(二) - MCU电路分析

在上一篇《NUCLEO硬件电路分析(一) - 概述及电源电路》我们介绍了NUCLEO的整体设计,并对其中的电源部分进行了介绍,本篇文章主要介绍一下NUCLEO板的MCU电路设计部分。

NUCLEO板专为64引脚LQFP封装的STM32微控制器设计。NUCLEO板的MCU部分位于设计文件MCU_64.SchDoc中,从图中可以看出MCU分为两个部分:IO引脚部分U5A和MCU电源部分U5B。

IO引脚部分U5A:
MCU的大多数引脚都连接到到扩展接口,如PA0、PB4、PC7。下面介绍几个特殊的IO引脚使用:PA2和PA3。这两个引脚可以通过连接焊桥SB62和SB63作为普通的IO使用,也可以通过连接焊桥SB13和SB14,连接至ST-LINK,作为虚拟串口的物理通讯方式。默认是作为虚拟串口使用。PA13、PA14和PB3没有作为普通的IO使用,而是作为SWD调试仿真的TMS、TCK和SWO;其中PA13作为SWD的数据输入/输出SWDIO,PA14作为SWD的时钟信号SWCLK。PC13作为USER用户按键的输入端口。

电源部分U5B:
在MCU的电源部分中,每个VDD端口都放置着100nF的去耦电容。在这部分中,主要介绍两个方面:复位和时钟。
MCU可以通过两种方式进行复位,一种是通过使用复位按钮B2,另一种是通过清零NRST信号。ST-LINK的PB0连接至MCU的复位引脚NRST,便于ST-LINK对MCU进行仿真监控。
NUCLEO的时钟源:有四种方法可以配置相应的外部高速时钟外部(HSE)的引脚:来自ST-LINK的MCO: ST-LINK MCU的MCO输出用来作为输入时钟。该时钟频率不能改变,固定为8MHz,连接到STM32微控制器的OSC_IN-PF0/PD0/PH0。 来自板载的X3晶体振荡器;来自外部PF0/ PD0/ PH0的振荡器;通过连接器CN7引脚29的外部振荡器 不使用HSE。

参考资料:
1.  UM1724 - STM32 Nucleo开发板用户手册 http://www.yiboard.com/thread-65-1-1.html
2.  MB1136C_schematic_layout图纸 http://www.stmicroelectronics.co ... cleo_64pins_sch.zip

NUCLEO开发板硬件电路分析(一) - 概述及电源电路

NUCLEO硬件电路分析(一) - 概述及电源电路


概述
ST的NUCLEO板的设计文件是开源的,所以很容易在官网找到NUCLEO板的原理图及PCB布线图。ST绘图使用的EDA软件是国内比较常见的Altium Designer。官网提供的工程文件名是MB1136C_schematic_layout,下载地址:http://www.stmicroelectronics.co ... cleo_64pins_sch.zip。该图纸使用的MCU是LQFP64的封装形式,适用于全部现有的NUCLEO板系列。
打开下载的文件,可以看到文件夹目录下共包含8个文件,其中:MB1136.PrjPCB是Altium Designer的工程文件;MB1136.SchDoc是NUCLEO板整体设计的原理图及电源电路;MCU_64.SchDoc是MCU部分的设计原理图;Connectors.SchDoc是NUCLEO板的对外接口部分的设计原理图文件;ST_LINK_V2-1.SCHDOC是板载的编程器/调试器ST_LINK_V2-1的原理图;MB1136.PcbDoc是NUCLEO的PCB布线图;MB1136.SCHLIB是工程使用的元件库;MB1136.pdf是原理图的PDF版本。可以看出ST的NUCLEO板提供的资料挺全的。
NUCLEO的原理图采用的是自上而下的层次图设计的方式,MB1136.SchDoc是层次图设计中的模块连接结构图,该原理图中放置着U_MCU_64、U_Connectors和U_ST_LINK_V2-1三个电路方块图,分别对应着MCU_64.SchDoc、Connectors.SchDoc和ST_LINK_V2-1.SCHDOC三个原理图文件。


NUCLEO板的电源设计
NUCLEO板的电源部分的原理图设计电路位于MB1136.SchDoc文件中。原理图如下:
在NUCLEO用户手册UM1724的5.3 电源供电和电源选择章节中提到“电源供电可以由PC主机通过USB电缆提供,也可以外部电源CN6或者CN7的电源引脚VIN(7V-12V),E5V(5V)或+3V3提供”,下面根据原理图依次介绍:

  从USB接口U5V接入电源
STM32 NUCLEO核心板和扩展板的所有部件都可以由ST-LINK的USB连接端口CN1(U5V或VBUS)供电。当JP5的引脚1与引脚2之间的跳线短接时,U5V与+5V的网络连接,NUCLEO板由USB提供的电源(U5V)供电。
这里应当注意,如果NUCLEO板由USB充电器供电,这时因为没有USB枚举过程,所以LD3指示灯将会永久处于灭状态,而且目标MCU未通电。正常情况下,USB枚举成功后,ST-LINK发出一个信号,使能PWR_ENn(低电平有效)。PWR_ENn控制P沟道的MOS管T2(STS7PF30L)导通,U5V才会与+5V相连。
STS7PF30L的门限电压Vgs在1V-2.5V之间,典型值是1.6V,能够提供7A的Id电流,而且在导通时,DS之间的电阻Rds非常小。具体参数可以参考STS7PF30L的数据手册。

  外接电源输入:VIN和EV5
电源VIN连接着CN6的8脚CN7的24脚,通过低压差线性稳压器U3(LD1117S50TR)输出恒定的电压5V,当JP5的引脚2与引脚3之间的跳线短接时,NUCLEO板由外部输入电源供电。LD1117S50TR最大支持输出800mA的电流,具体的电气参数如下:
电源EV5连接CN7的6脚,与+5V直接相连。EV5与U3之间有一个二极管D4,防止电流倒灌至U3,引起U3损坏。


以上的两种外部电源输入都会通过U4(LD39050PU33R)转换成+3.3V,通过JP6连接至VDD,向NUCLEO的MCU部分供电。

2016年2月6日星期六

2016年最热门的与PCB相关的论坛,值得关注

1. 中国PCB论坛网http://www.pcbbbs.com/

中国PCB论坛作为国内的最老的PCB论坛,其积累的技术及帖子的含金量还是很高的。论坛中的高手也是很多,印象最深的是@wanghanq。其在很多帖子的回复都是很中肯的。同时,发布的论坛主题贴也经常是精华帖。


2. EDA365电子工程师论坛http://www.eda365.com/