楼主: wangkj

跟我学嵌入式(arm fpga 原理图 pcb verilog 焊接 调试 软件硬件)

[复制链接]
 楼主| 发表于 2012-11-1 11:35:33 | 显示全部楼层
这是中文版的数据手册,在第22页有管脚的描述图。
但他这个图是图片,不能把里面的文字粘贴出来。

这些资料,建议先不要细看,可以粗略的看看,学完之后,回来再看,那时候对这个手册会有更深的理解。
如果现在看,可能很难看懂。

先依葫芦画瓢,先学会了整个流程,然后再细细琢磨其中的每个细节。

1.jpg

STM32F051系列数据手册简介(中文).pdf (3.5 MB)

在这个英文数据手册,也有对应的管脚列表,
这个是可以粘贴的,不是图片,是文字。

一般来讲,对于元器件,如果有中文手册,可以先看看,但必须找到对应的
英文手册核实。翻译的过程,有时候会出现错误。如果你赶上了,没准就悲剧了。
这是常有的事情。技术资料的翻译,精品有,但太少。很多翻译的人,对技术基本不懂。
懂技术的,懒得做这种翻译。

第29页就有这个元件的管脚列表。

2.jpg

DM00039193.pdf (1.07 MB)


 楼主| 发表于 2012-11-1 11:37:10 | 显示全部楼层
资料准备好了,就像做饭一样,先准备好材料,再开始点火做饭。
现在,我们根据这些资料新建我们的MCU原件,
鼠标右键点击软件控制窗口中的stm32f0.olb ,菜单中的
New part
New part form spreadsheet
两项都可以新建一个原理图元件,
第一个是用画图方式建立,适合元件管脚数量不多的情况,
第二个是用填充表格的方式建立元件,如果有管脚描述手册,直接拷贝黏贴就行,适合元件管脚数量大,
特别适合总线地址线这类管脚,可以拷贝黏贴,然后稍微修改。

1.jpg

选中打开“New Part Creation Spreadsheet”窗口

2.jpg

这是英文手册29页,对管脚1的描述
上面还有对于缩写的描述
从这两条信息可以看出,这个管脚是电源输入管脚,只是作为电源输入。

3.jpg

4.jpg




 楼主| 发表于 2012-11-1 11:39:06 | 显示全部楼层
Number  填入1  这是第一个管脚
Name    填入或者拷贝黏贴过来,管脚的名字,VBAT
Type    类型选择电源Power,这个管脚是电池供电管脚
Pin Visible 选中,不然,将来你的元器件图,看不到这个管脚的
Shape 选择Line即可

1.jpg

按照手册说明,填写其他部分,记住,在Section 部分,最好填写上A,不然,最后保存可能会出错,
这时候,不能点取消,只能保存。否则,你的工作就白做了。我画的时候就没填写。会出先警告。

然后双击保存之后的元件,
我忘记填写Section部分,结果,出现了一个意外的长线,选中,删除掉意外出现的这条长线,然后放大。
这时候,你就看到的这个元件了。

2.jpg

这就是经过调整之后的我们的MCU 器件,STM32F051R8

3.jpg

 楼主| 发表于 2012-11-2 15:19:19 | 显示全部楼层
我们这个元件的的管脚排列方法和原厂的器件不一直,我们用鼠标拉动管脚调整一下。
其实,管脚的号码能对上就是正确的,只是看比起来不一样而已。都是正确的。
我们主要是考虑和原厂尽量一致。

其实,我们做原理图的时候,经常把管脚分类放置,比如,电源部分,输入部分,输出部分等等。


这个风格问题,各有个的好处。一般来讲,跟原厂一致最好,这样,能让让看到你原理图的,
能和原厂的尽量对比一下,尽快掌握,减少困惑。

1.jpg

现在,在控制窗口中,选择10_Mcu/PAGE1,
鼠标双击选中之后,选择 原理图程序的菜单的  Place / Part

也可以直接按键盘上的字母P,这是快捷放置功能。

2.jpg

右面出现的对话框中,选择 我们刚才制作的这个元件,
STM32F051
双击之后,点击MCU PAGE1窗口,
记住,点一次就行,
然后鼠标右键单击或者按ESC键,完成放置。
否则你将连续放置相同器件。如果放多了,没关系,选中删掉就是了。

3.jpg

4.jpg

 楼主| 发表于 2012-11-2 15:22:17 | 显示全部楼层
好像少点什么?
器件的编号没显示!
这应该是器件编号部分显示属性问题,
我们鼠标右键点击这个器件选择Edit Part

1.jpg

在出现的器件属性编辑窗中,
选择Option/Part Properities

2.jpg

选中Part Reference ,
点击Display
果然是其属性为 Do Not Display
选中Value Only
点击OK

3.jpg

之后出现器件更新提醒窗口,选择Update Current或者Update All都可以,
因为我们这个原理图中只有这一个器件更新那个都一样。
如果有多个器件,就根据情况而定了。
一般而言,尽量别用同一个器件不同改版,这是会增加潜在错误的风险,不要对付。
如果对付的,将来可能会付出代价。

4.jpg

 楼主| 发表于 2012-11-2 15:26:00 | 显示全部楼层
下面这个提示窗,是告诉你,你的更新会保存,别后悔。
我们的改动我们确认是正确的,点击是。

2.jpg

下面这个提示窗,是告诉你,你的更新会保存,别后悔。
我们的改动我们确认是正确的,点击是。

3.jpg

后面的警告继续告诉你,想UNDO都不可能,别后悔啊。
选择Yes

4.jpg


默认的标识符太小了,我们双击这个字符串,改变他的大小到你希望的样子,我比较喜欢大一点的,醒目
 楼主| 发表于 2012-11-2 15:28:24 | 显示全部楼层
参照我们以前贴的官方原理图,补齐其他部分,
我们先画元件部分,先补齐元器件。
首先增加电阻。
在Place/Part窗口中,点击打开search for part

1.jpg

电阻英文名称以res开头,所以,
器件名称也应该是包含res字符串,我们
填入*res*,然后点击望远镜图标开始搜索。
我们从搜到的结果中,选择最可能的一个,如果选中没有我们需要的器件,重复上述过程,直到找到。
如果确实没有,那么我们之后按住我们刚才讲的办法,自己做器件了
我选中的这个含义是:电阻/无源器件库

2.jpg

点击ADD之后,这个器件和库随之出现在上面的Part和Libraries窗口中。
在Part List窗口,可以,用键盘的上下键,快速翻阅这个库中的所有器件。
选择你认为最适合的,双击之后点击MCU窗口,每次在Mcu窗口的单击,都放置一次器件
直到按ESC或者鼠标左键选择End Mode结束放置。

3.jpg

 楼主| 发表于 2012-11-2 15:29:33 | 显示全部楼层
放置电容的时候,在part输入cap则出现了cap开头的几个器件,选择合适的放入电路图。
CAP NP是可以当作无极性电容放置,CAP POL当作有极性电容。我们分别放入原理图。
如果不知道元件的英文缩写,去dict.cn或者其他电子词典查找,或者挨个元器件翻找把。
这个库中,大部分常用器件都有。
如果这个库没有,就只好到Libraries中多次添加库,然后在找。实在没有,只能按照我们刚才说的,自己去做。

1.jpg

2.jpg

做视频跟做这个一样,如果那位兄弟想做视频,看着我的帖子做一遍,讲一边,就是视频
可以成名哦。
这是刚才我们做的成果,放到论坛保留一份。

stm32f020121030161048.rar (18.66 KB)




 楼主| 发表于 2012-11-2 15:31:22 | 显示全部楼层
先放置电源和地,点击原理图页面,按P键或选择菜单的place / part,
在右侧的边栏选择放置电源和地的快捷功能,

1.jpg

鼠标放在这些图标上不动,几秒后,会有功能提示。所有的快捷工具栏都有这个功能。
这也是一个技巧
如果不清楚那个电源,那个是地,可以用这种方法找出来。其实图标也很清楚,应该换容易找到。

这就是我们放置的电源和地,点击这个元件上面的字符串,可以改名。
GND没有字符串,咋办
鼠标右键点击GND器件,选择 edit properties
在出现的对话框中,双击左面那个空白小方格,切换编辑状态。(不切换也能编辑)
选择 Name 中的GND_single
点击上面的Display,把显示属性改为Value only

2.jpg

3.jpg

4.jpg


 楼主| 发表于 2012-11-2 15:32:48 | 显示全部楼层
双击这些出现的字符串,可以改成希望的名称。
仔细看厂家的原理图,他们的模拟电源和地没有区分,那我们也就做成一个。
这样做,只是精度不高而已。也能用。
一般就来讲,高精度的场合,电源模拟数字要良好区分。
我们没有必要都改,改好两个,复制就可以了,删掉不需要的另外两个,省的造成混乱。

1.jpg

点击 add library,增加一个connector库,选择Jumper器件

2.jpg

用Discrete库,增加一个晶振器件。这个器件的英文名称就是晶振的意思。

3.jpg

 楼主| 发表于 2012-11-2 15:35:01 | 显示全部楼层
现在,电阻,电容,电源,地,晶振,LED,复位开关我们这些官方原理图MCU这部分
用到的器件种类没动都找好了,复位开关我没找到合适的,用了一个2x2的跳线元件替代。
管脚对,能和pcb图封装管脚对上,就能用。

1.jpg

我们的最新成果上传

stm32f020121030215503.rar (28.05 KB)

我们先放置电源和地,
尽量和原厂的板子保持一致,我们的电源也改名叫VDD,名称无所谓,一致就好。
按住CTRL键拖动电源器件,就能不断复制。
省的重复放置,复制操作起来更简单,还不容易出错。
毕竟我们这几个器件有些属性被我们改掉了,库中的器件,属性没改变。如果直接从
库中调用出来,忘了改属性,就会出现网表不一致的问题,原理图看起来正确,
单没准电源和地是分离的。如果做原理图和pcb的是两拨人,很可能到最后产品回来还不能
发现。最终调试的时候,莫名其妙的错误出现了,费了好大功夫,才可能发现这个小问题。

所以,尽量从同一个器件拷贝黏贴,是防止这种低级常见错误的一个好办法。
是先按住ctrl再用鼠标拖动器件完成拷贝黏贴的。
选择器件,鼠标右键点击,可以选择旋转这个器件。
注意,图中的标注框,是用place recentangne功能放置的,不要用place  wire 之类,那是布线用的。

这是放置各种元件之后的图,没有改动元件标注,也没有连线,应该算是个草稿吧。

3.jpg

 楼主| 发表于 2012-11-2 15:37:08 | 显示全部楼层
这是原理图的原图,跟上面那个图片一致,尽量自己完成,多练习。

stm32f020121031103041.rar (34.44 KB)

这页原理图还缺很重要的一项:跨页连接端口。
这种端口,使得网络连线能够跨页面连接,
不用这种端口的网络连线,只能连接本页的同样网络名称的管脚。
用这种功能能实现网页间管脚的连接。
我们现在看官方原理图的第一页,第三页,这两页的管脚就是通过跨页连接端口实现连接的。
第一页的中间那个图,排解的很规律,实际上那个方框可以要也可以不要,只是个示意图作用。
重要的跨页连接端口。
从这张图上可以看出,
PA0..PA15
PB0..PB15
PC0..PC15
PD2
PF0..PF7
MC0
VBAT,BOOT0,NRST
都是跨页连接的。

2.jpg

这页原理图还缺很重要的一项:跨页连接端口。
这种端口,使得网络连线能够跨页面连接,
不用这种端口的网络连线,只能连接本页的同样网络名称的管脚。
用这种功能能实现网页间管脚的连接。
我们现在看官方原理图的第一页,第三页,这两页的管脚就是通过跨页连接端口实现连接的。
第一页的中间那个图,排解的很规律,实际上那个方框可以要也可以不要,只是个示意图作用。
重要的跨页连接端口。
从这张图上可以看出,
PA0..PA15
PB0..PB15
PC0..PC15
PD2
PF0..PF7
MC0
VBAT,BOOT0,NRST
都是跨页连接的。

3.jpg
 楼主| 发表于 2012-11-2 15:38:21 | 显示全部楼层
从我们的原理图上,选择控制窗口中的PAGE3_MAIN,
鼠标单击, Intef*ce 模块,别双击,
从菜单中,选择Place/Hierarchical Pin ...

1.jpg

再出现的防止层次图管脚对话框中,输入
Name PA[0..15]  表示一共16个管脚,从PA0到PA15
Type 选择 Bidirectional
Width 选择 BUS   16个管脚,肯定是总线了。
点击OK

官方原理图的这页,是外围管脚连接器,不是MCU,不要误会中间那个DIP封装的样子,
那只是个示意图,不是集成电路的意思。只是把跨页连接管脚放到一起,比较明显而已。

2.jpg

点击确认之后,放置我们的这个层次图管脚。

3.jpg

 楼主| 发表于 2012-11-2 15:40:03 | 显示全部楼层
按照上面的方法,放置PB,PC,PF层次图管脚,
一定要选中Interf_ace层次图模块,才能放置,
allegro的菜单是功能相关的,动态调整。

1.jpg

现在我们放置PD2,这是一个管脚,不是总线,
所以,我们的Width选择scaler。
这个管脚,官方的数据手册是双向io,我们还是用双向Io吧

2.jpg

同样放置MCO,VBAT,BOOT0,NRST
注意Type类型设置,先跟官方原理图一致,如果后面有问题再改。
毕竟,我们用的是allegro,个他那个画图软件细节上不会完全一样。

3.jpg

4.jpg

5.jpg


 楼主| 发表于 2012-11-2 15:41:52 | 显示全部楼层
同样,在MCU模块放置这些层次图管脚,不过,
注意输入输出方向问题,另外一边输入,这边就是输出。
反正依然。如果是双向的,一般这边也是双向。

1.jpg

2.jpg

选中MCU 功能模块,鼠标右键点击,选择 synchronize down
把你的管脚同步到你的功能页面,
现在你的MCU页面,这些跨页管脚也出现了。

3.jpg

4.jpg

5.jpg

 楼主| 发表于 2012-11-2 15:43:34 | 显示全部楼层
现在,我们返回到PAGE3_MAIN 窗口页面,
从右侧的工具栏,选择 Place Bus放置总线功能,
把PA,PB,PF三条总线,
哦,我们把PC忘了,调整一下位置,把PC及其总线也补上。

1.jpg

这个补上来的PC,可以放到任意位置,没关系的。
我是为了好看,才这样调整的。
补齐之后重新synchronize down 一下,PC管脚也就同步下去了。

2.jpg

用plcace wire功能,把PD2,MCO,VBAT,BOOT0,NRST连起来。
可以用快捷菜单,也可以直接按键盘上的W键快捷方式。

3.jpg

4.jpg

 楼主| 发表于 2012-11-2 15:44:30 | 显示全部楼层
按N键或者从快捷菜单,选择Place net alaies,
添加总线网络名。
在出现的窗口中填写PA[0..15]

1.jpg

2.jpg

同样添加其他几个连线的网络名。

3.jpg

 楼主| 发表于 2012-11-2 15:46:40 | 显示全部楼层
全部选中这些总线,然后,鼠标选择copy,这用ctrl+c 键拷贝这些连线。
然后选中MCU模块,选择synchoronize down快速跳转到MCU页面。
ctrl+v或者用鼠标功能黏贴这些连线。
省的在MCU页面中手工输入,减少错误的几率。
注意,MCO是在页面的右面,拉过来。
手动调整这些跨页链接端口和网络连线。
放到什么位置不重要,只有有,就能表达出这些网络线是跨页连接的。

1.jpg

现在,MCU这页需要的材料我们都基本齐全了,如果有遗漏,我们后面再补。
我们开始把这页上面的器件连接起来了。
保存文件,压缩,上传网络。多保留一个备份。

stm32f020121101144544.rar (39.14 KB)

现在我们根据厂家原理图第三页MCU部分的网络标号设置
连接我们的原理图的网络标号以及器件之间连线。

3.jpg

 楼主| 发表于 2012-11-2 15:48:19 | 显示全部楼层
由于跨页网络端口的存在,我们直接用网络名就可以了,
没必要重复使用网络端口标志。
这样就能做到跨页网络连接。这是画出来的部分图。
明天继续。

1.jpg

stm32f020121101234717.rar (41.9 KB)

按照我们以前提供的方法,按照厂家开发板的样子,完成这个原理图。

stm32f020121102102403.rar (47.85 KB)


 楼主| 发表于 2012-11-6 16:34:10 | 显示全部楼层
这就是那份图,图片形式,上面的元件编号还没改。

1.jpg

我们先不管元件编号型号这些细节问题,我们先做好总体框架,然后再统一修改这些细节。
现在MCU部分已经差不多了,我们现在制作接口部分的原理图。
双击PAGE3_MAIN,选中Intef_ace模块图,选中网络总线,复制,
然后
鼠标右键选择synchronize down功能。

2.jpg

调整和连接跨页连接端口和网络表
的位置,我一般放到左上角。
这个没有什么特殊要求,比较明显就好。

3.jpg


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表