FPGA入门:0和1——精彩世界由此开始
FPGA入门:0和1——精彩世界由此开始
本文节选自特权同学的图书《FPGA/CPLD边练边学——快速入门Verilog/VHDL》
书中代码请访问网盘:http://pan.baidu.com/s/1bndF0bt
在今天这个科技发展日新月异的时代,互联网的推波助澜,已使得所谓的“地球村”成为现实,而我们的工作和生活几乎已经被各种无孔不入的“数字化”设备所充斥着。不知你是否意识到,我们每天通过电脑、手机、各种娱乐设备所面对的图像、影音、文字资料,皆是以0和1的符号来存储、传输和处理的……
事物发展变迁如此之快,各种数字化的资讯企业水涨船高。由于计算机技术和通讯技术的高速发展,人类文明被不断的推向高峰,人类的物质生活也达到前所未有的丰裕,天涯若比邻的理想得到了实现。众多高科技园区林立,许多企业赚了大钱。在这一切光鲜亮丽的景象背后,你曾否想过,那不过都是0和1的功劳。套用一句经典的广告词,那叫“在0和1面前,一切皆有可能”。
0和1到底有多神奇?其实不用费心寻找,就拿我们现在所面对的PC机,别的不说,凡是我们目前所能够在硬盘里访问到的任何资料,即便是那些美轮美奂的图像和影音背后,其存储形式皆是0和1(即以数字的形式存储在硬盘中)。空说无凭,咱就随便抓个简单的典型论证一下。
如图3.1所示,我们随便在电脑桌面的空白处点击右键,然后选择新建一个文本文档。我们修改这个文本文档的名字为“TEST”,接着打开文档,在其中输入ASCII码“0123456789”,如图3.2所示。需要事先提醒大家的是每个ASCII码的实际存储都有8位的数字与其对应,也就是说,我们看到的ASCII码是一种形式,而它实际存储在硬盘中又是另一种形式(即8位2进制的数据,汉字也是与此类似,通常用2个字节来表示一个汉字,如一个比较常用的汉字标准叫做GB3216,大家可以到网络上搜索这个标准)。在网络上也很容易就可以搜索到一个固定的ASCII码表。“TEST”对应的数字存储形式分别为16进制的0x54、0x45、0x53、0x54,“0123456789”对应的数字存储形式分别是16进制的0x30、0x31、0x32、0x33、0x34、0x35、0x36、0x37、0x38、0x39。
图3.2 记事本重命名和输入内容
通过连接到PC机的显示器,我们看到了命名为TEST的txt文本,这个文本打开后有一串数据0123456789。那么如何知道它在硬盘中实际上真的如笔者所言是以特定的数字存在的呢?很简单,我们可以找个小工具,叫做Winhex,使用该工具可以查看咱们硬盘中所有资料的实际数字存储值。如图3.3所示,打开我们的TEST.txt文本,在实际数据“3031 32 33 34 35 36 37 38 39”之前,出现了文本名“TEST.txt”对应的数据“54 45 53 54 2E74 78 74”,而且在文本名称和实际数据之间有一串乱七八糟我们搞不懂的数字,这个也是文本文件帧头相关的数据,如文本的创建时间、修改时间等信息。读者若是感兴趣可以自己找找文本文件的格式解析好好研究一下,笔者只是点到即止,希望给大家传递一个信息:在咱的“数字设备”中,数字确实无处不在。
看过以上的例子,大家可就要纳闷了,既然所有资料都是以数字的形式存在,为什么我们所看到的现实世界却是如此色彩斑斓、形式多样?答案很简单,数字虽强大,在现实世界中还是要依靠模拟作最终的载体。如图3.4所示,目前我们所能接触到的各种设备,大都需要经过与此类似的模拟、数字再到模拟的转换过程。原始的一些模拟设备提供了待采集的信号,经过AD转换芯片处理后量化为数字信号,这些数字信号在前端被采集,如果是自成系统的设备,通常直接就在本地处理后经过DA转换芯片以特定的模拟设备的形式表现出来。当然了,也许不一定是用完全和采集时一样的模拟设备进行还原,也可能是以其他的形式表现原有设备的某些特性。而如果本地系统没有强大的CPU支持数据的处理,而只是负责采集数据,那么通常还会对采集到的数据进行编码或压缩,并通过各种远程传输设备送到拥有强大处理器的远端,远端会对采集的数据进行解码还原,然后进行处理,最终还是会以模拟的形式表现出来。
图3.4 模拟和数字转换
说到这里,相信大家已经摸到了一点门道。确实,我们所能直接感受接触到的肯定都是模拟世界的产物,而数字则是潜移默化的做了中间媒介的作用。很多人可能还想问,既然都是模拟,那为什么中间非得要添油加醋的来个数字?这个问题问得好。
记得著名的芯片制造商Analog Devices有一句很经典的广告语,叫做“模拟无处不在”。此言不假,但是,若是纵观今天的科技发展,笔者可以毫不夸张的补一句——“数字,让模拟更精彩”。的确,现实世界中本不存在所谓的数字,数字从某种意义上看也是模拟的一种特殊表现形式。但也正是数字的出现,让模拟得到更好的存储、传输和处理。也简单的举个例子,如今数码相机估计已是人手必备的电子产品了,但是相信大多数读者还是玩弄过模拟的相机,估计那也是咱们童年的记忆了,那时候的柯达胶卷是我们挥之不去的梦魇,每每拍到兴起时总是遇到仅有的30张照片拍完了的尴尬。没错,那个模拟时代,伴随相机快门的每次咔嚓声总是有一张黑不溜秋的底片被消耗,拿着这张底片去相馆洗出来的纸质照片恐怕是我们照相的唯一乐趣了。但是,看看今天的数码相机,能干的事情就太多太多了,我想也没必要再费任何口舌向大家描述了,您肯定比我更清楚。模拟相机到数字相机,其中所发生的改变,可以说就是数字给人类科技带来的革命性进步的一个缩影。
本文节选自特权同学的图书《FPGA/CPLD边练边学——快速入门Verilog/VHDL》
书中代码请访问网盘:http://pan.baidu.com/s/1bndF0bt