摘要: 电子信息技术起源于基于机械计算器,并在后期由于电子管、晶体管发明得到了长足的发展。但是很多出身于其他行业的对这些原理不是很了解。为避免一些不必要的争议,这里梳理一下行业技术的发展历程,以及整个行业技术发明的由衷。 PWM ,英文全称 Pulse Width Modulation,中文译名 脉冲宽度调 阅读全文
posted @ 2024-04-03 10:30 夏日时光 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 身边的亲戚朋友以及同事常常为PC的各种问题而感到困扰,究其原因不过是国产共享软件的推广做的太好,商业软件没有养成良好的付费习惯。即便是边际成本为零,软件也是昂贵的产品,想要免费使用其实不太现实。然而现实却是比游戏更加魔幻,共享软件基于一个得益于数据信息隐藏的价值,而免费的东西常常让人无法拒接。既然用 阅读全文
posted @ 2022-05-18 17:30 夏日时光 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 时间兜兜转转,工作了,博客也发的少了许多。 然而模电这一块始终都没学好,主要原因不过是课本讲的过于笼统,只有一个大概的概念和框架。很多取值都是差不多、大约是多少。到自己设计电路的时候选型和电流电压的确认经常还是不会。 但是打板测试费时费力,而且测试也颇为麻烦。这里我经过个人折腾找到了一个学习模电的绝 阅读全文
posted @ 2022-05-02 18:43 夏日时光 阅读(2580) 评论(0) 推荐(0) 编辑
摘要: 由于需要用到这款 SDRAM, 然而英文并不太好。 每各段落都有几个单词不认识,这非常影响我的学习效率。 这里奉上中文翻译版。 点击这个下载 阅读全文
posted @ 2021-10-17 19:56 夏日时光 阅读(584) 评论(0) 推荐(0) 编辑
摘要: AT030TN83 V.1 群创7寸液晶屏 阅读全文
posted @ 2021-10-11 22:17 夏日时光 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 首先看I2C 写入的波形图: 这里我们要驱动的设备是 NXP 的 PCF8563 RTC 芯片。可以看到芯片的驱动逻辑如下: 首先发送7位的地址 + 一位的读写位 发送8 位的寄存器地址 发送 8 位数据 根据数据的数量重复第三步 发送停止位 PCF 8563 的 I2C 地址位 7'b 10100 阅读全文
posted @ 2021-07-20 19:38 夏日时光 阅读(1379) 评论(0) 推荐(0) 编辑
摘要: 直到现在,我还依稀记得,小的时候拆开玩具电话里面的那块电路板,这东西看起来神秘兮兮的,给人一种莫名其妙的高尚大的感觉。直到念完了中学,我才在物理课上学到这个东西叫做电路。一次偶尔在书店看见一本 Protel99SE 的电路设计图书,我仔细翻看了一点,内容却完全看不懂。于是我又把那本书放了回去,但是P 阅读全文
posted @ 2021-06-29 17:51 夏日时光 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 今天是2021年4月27号,距离我第一次接触到编程这个概念已经十多年了。我是怎么走上编程这条道路的呢?这首先要从一部电影说起 —— 《黑客帝国》。《黑客帝国》是斯皮尔伯格导演的商业动作大片,这部电影内容比较深沉,这里不做详述,但是它在我的心里树立了一个神一般的职业 —— 黑客。电影里的黑客神奇无比, 阅读全文
posted @ 2021-06-14 21:36 夏日时光 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 前面的章节讲述了单组 8 位数据的发送,但是仅仅发送单组数据往往是不够的, 因为实际上I2C协议的芯片需要传输多组数据。在使用 PCF8563和 AT24C02 之类的芯片之前,我们需要准备好实现多组数据的发送代码。 I2C 的多组数据连续发送与单组数据稍有差异,时序图如下: 上图由于长度关系只展示 阅读全文
posted @ 2021-04-03 22:29 夏日时光 阅读(2068) 评论(0) 推荐(0) 编辑
摘要: I2C 协议由 Philip 公司开发,是一种简单高效的串行通信协议,具体详细内容可参见 I2C 手册,I2C 有两个信号线,SCL 和 SDA。下图为 I2C 的帧格式: I2C 可以在一次传输中传输多个数据帧,这里以单帧为例,多帧传输的会在以后的文章中详细介绍。 数据帧可以分为以下几个部分: 需 阅读全文
posted @ 2021-04-02 11:25 夏日时光 阅读(1359) 评论(0) 推荐(0) 编辑
摘要: 前几天参加了一场面试,选择题净是关于实际开发的关键知识,对于没有项目经验的我而言,完全不知所云。在看不到成功的希望的同时,最后的序列检测本应该是手到擒拿,结果以翻车结束。这里吃一堑长一智,避免下次出现类似的悲剧。 题目是检测序列 11001,使用三段时状态机: 这里约定以下信号, 时钟 clk 复位 阅读全文
posted @ 2021-03-02 20:13 夏日时光 阅读(927) 评论(0) 推荐(0) 编辑
摘要: 初次上手Cadence 的时候感觉这个软件很累,没多久就放弃了。原因不过是Cadence 的层非常多,而且大多没有什么内容,设置也非常繁琐。熟练以后就会发现 Cadence 是非常专业的工具,这也是大公司的项目主要采用 Cadence 的原因。世界上主要的 PC主板、显卡、笔记本主板、FPGA 板卡 阅读全文
posted @ 2021-02-26 20:47 夏日时光 阅读(929) 评论(0) 推荐(0) 编辑
摘要: FIFO (First Input First Output),中文名为先入先出存储器。顾名思义,FIFO 的数据进出方式为先入先出。FIFO 常用用在两个不同步的信号接口之间作为数据缓冲器。理想情况下 FIFO 的读写应该是两个时钟驱动的独立的信号。要实现这样的功能必须用到双口 RAM。但 FPG 阅读全文
posted @ 2021-02-15 20:40 夏日时光 阅读(1861) 评论(0) 推荐(0) 编辑
摘要: 直接数字合成(DDS)是一种常用的调制技术,可以用来生成任意波形。原理如下: 假设这里需要输出余弦函数的波形,如下图: 每隔一段时间对这个曲线进行采样,就可以得到一堆数据,使用单片机来输出这个信号并外接一个 DA 就可以输出波形了。 这就是DDS 的主要原理,真的是非常简单的哟,下例将实现一个正弦的 阅读全文
posted @ 2021-02-02 19:45 夏日时光 阅读(453) 评论(0) 推荐(0) 编辑
摘要: LL4148 这个开关二极管封装为 SOD-80,而SOD-80 的焊盘是一个典型的异形焊盘。如若使用常见的 1206 之类焊盘代替SOD-80,焊接的时候就会出现立碑现象。 SOD-80 焊盘图例,来自 LL4148 的数据手册:(手册来自仙童半导体) 通过手册可以看到这个焊盘既不是方形也不是任何 阅读全文
posted @ 2020-11-29 21:54 夏日时光 阅读(4011) 评论(0) 推荐(2) 编辑
摘要: 最早的时候我用的 PCB 设计工具为 Diptrace,这个软件小巧而精致,操作简单上手容易,随着设计的深入,这款软件渐渐力不从心,PCB 布线费心费力,此外还有些逻辑上和软件上的 bug 没有修复。我决定更换 PCB 设计工具。我发现的 Diptrace存在的一些问题: 1. Diptrace 在 阅读全文
posted @ 2020-11-22 13:52 夏日时光 阅读(2005) 评论(0) 推荐(1) 编辑
摘要: CH559 GPIO 的使用 GPIO,中文名为 通用输入输出,是一种比较新的接口,用于取代传统的 PIO。CH559 的 GPIO 包含多种模式和功能,较为复杂。掌握 GPIO 是实现单片机应用的第一步,否则之后的操作将寸步难行。 单片的 IO 口驱动条件大概分为以下几种: 1. 使用单片机输出信 阅读全文
posted @ 2020-10-21 20:36 夏日时光 阅读(1205) 评论(0) 推荐(1) 编辑
摘要: CH559 入门指南 CH559 是沁恒公司生产的 8 位增强型新一代 51 内核单片机,相比传统的 8051 使用了较多新的技术。 以下新技术为传统 8051 没有的: 锁相环(PLL) —— 可以实现非整数倍的频率调整,可以对外输出需要时钟信号 内置晶振 —— 内置 12MHz 晶振,可以简化电 阅读全文
posted @ 2020-10-14 19:57 夏日时光 阅读(3218) 评论(0) 推荐(0) 编辑
摘要: Verilog语言的可综合语法与不可综合语法 Verilog HDL 大致可以分为一下几个标准:Verilog-95,Verilog-2001 和 SystemVerilog。随着标准版本的升级,新版本中的关键字越来越多,然而增加的关键字主要是验证这个方向的。Verilog 标准实际包括了两个部分, 阅读全文
posted @ 2020-09-20 00:47 夏日时光 阅读(1444) 评论(0) 推荐(1) 编辑
摘要: 在本篇里,我们讨论 Verilog 语言的综合问题,Verilog HDL (Hardware Description Language) 中文名为硬件描述语言,而不是硬件设计语言。这个名称提醒我们是在描述硬件,即用代码画图。 在 Verilog 语言中,always 块是一种常用的功能模块,也是结 阅读全文
posted @ 2019-09-18 17:35 夏日时光 阅读(11781) 评论(0) 推荐(1) 编辑
摘要: 雕刻机不适合做 PCB,雕刻时容易断刀,需要 PCB 同志请购买专业的 PCB 制造服务。本文权当个人无谓的尝试。谢谢 之前使用过感光蓝油制作过 PCB,虽然感光法精度高,但个人制作耗时耗力,发给厂家周期又很长。看到国外的网友使用雕刻机制作 PCB 视频之后。几番周折之后还是成功了。有感于网上几乎没 阅读全文
posted @ 2019-04-10 12:37 夏日时光 阅读(2296) 评论(2) 推荐(0) 编辑
摘要: PWM 是一种调节输出功率的技术(俗称调压),其原理在于改变输出方波的占空比,具体输出见下图: 输出信号为电压值,当负载为恒阻时,上图中的输出功率分别为 25%、50%、75%。 实现方法如下: 设置一个计数器,上图中的第一行就是个 4 位的计数器,每满 15 自动变为 0。那么可以得到输出频率等于 阅读全文
posted @ 2016-06-27 07:32 夏日时光 阅读(8371) 评论(0) 推荐(1) 编辑
摘要: 高级的嵌入式市场主要分为以下三类:ARM、DSP 和 FPGA。 其中 ARM 是行业内的佼佼者,目前几乎所有的安卓智能手机都使用 ARM 授权的 CPU架构;而 DSP(数字信号处理器) 早年就被大面积的应用与电话、DVD、通讯基站等领域。DSP 与 ARM 的区别在于,ARM 是通用 CPU,D 阅读全文
posted @ 2016-05-30 13:14 夏日时光 阅读(14290) 评论(2) 推荐(2) 编辑
摘要: 在秒表上一些其他模块就可以变成电子钟了,使用以下约定: 具体看原理图,太大了分成四块: 代码如下: 代码大家应该大致看得懂了,这里就不多做讲解了,祝大家成功。 最后附上 tcl 脚本文件(根据黑金光盘提供修改): 阅读全文
posted @ 2016-01-10 07:24 夏日时光 阅读(1758) 评论(0) 推荐(0) 编辑
摘要: 初学 FPGA 的时候,我们总是存在很多疑问,比如:xilinx 和 altera 的 FPGA 那种比较好、verilog 语言被如何综合成具体硬件电路、RTL 级电路是什么意思等等。现在我们就不会迷惑于那些基本的概念问题,是时候来写一个小小的项目了。我决定编写一个没有日期功能的电子钟,还可以来复 阅读全文
posted @ 2015-12-31 12:02 夏日时光 阅读(1253) 评论(0) 推荐(0) 编辑
摘要: 按键是一个输入设备,在理论上可以归为开关一类,理想的按键波形如下: 然而由于按键的机械特性,断开和闭合动作是不可能在一瞬间完成的,实际的波形如下: 抖动期间电平处于临界值,由于晶振的频率相当的高,数字电路会判断到许多个变化的值,数字波形图大致如下: 根据经验总结,按键抖动的时间一般在 5 ~ 10m 阅读全文
posted @ 2015-12-25 21:29 夏日时光 阅读(3129) 评论(2) 推荐(2) 编辑
摘要: 根据黑金 AX301 手册,数码管位选信号命名为 SEL[5:0],其中 SEL[5] 对应最左边的数码管,而SEL[0] 对应最右边数码管;作为约定,在下面的描述中我们对应的称之为数码管 5 和数码管 0。数码管的段选信号被命名为 DIG[7:0];DIG[7] 为小数点 DP,DIG[6] 为数 阅读全文
posted @ 2015-12-11 21:40 夏日时光 阅读(1853) 评论(0) 推荐(0) 编辑
摘要: 讲到这篇时,组合逻辑就告一段落了,下面是一些总结: 描述组合逻辑时,always 语句中的敏感信号列表中需要列出全部的可能影响输出的变量 描述组合逻辑时,always 语句中的赋值总是使用阻塞赋值符号 = 组合逻辑是描述输入和输出关系的功能块,由于延时的原因,输出可能会有毛刺,为避免避免毛刺需要引入 阅读全文
posted @ 2015-12-09 11:43 夏日时光 阅读(2809) 评论(0) 推荐(0) 编辑
摘要: 数码管是一种常见的用于显示的电子器件,根据数码管大致可以分为共阴极和共阳极两种,下图所示的是一个共阳极的数码管的电路图(摘自金沙滩工作室的 51 开发板电路图),我的 AX301 开发板与这张图的情况类似,几乎所有的教科书上都会讲到数码管的原理,这里我就不再详述了。 由于多个数码管的段选信号(下图中 阅读全文
posted @ 2015-12-07 16:29 夏日时光 阅读(10143) 评论(0) 推荐(1) 编辑
摘要: 2-10 进制码,也称为 BCD 码,它的编码方式则是通过一个 4 位二进制来表示一个 10 进制数,部分十进制对应的 BCD 码如下 十进制数 | BCD 码 13 --> 0001_0011 14 --> 0001_0100 19 --> 0001_1001 20 --> 0010_0000 9 阅读全文
posted @ 2015-12-02 18:37 夏日时光 阅读(6788) 评论(0) 推荐(2) 编辑
摘要: 格雷码是一种无权编码,其特点是相邻的两数之间只有一个位不同,像这样: 000-->001-->011-->010-->110-->111-->101-->100 对比二进制码是这样的: 000-->001-->010-->011-->100-->101-->110-->111 从格雷码的定义可以看到 阅读全文
posted @ 2015-11-24 10:17 夏日时光 阅读(2029) 评论(0) 推荐(0) 编辑
摘要: 在第 3 篇中讲到了如何使用图形进行仿真激励输入,图形输入法尽管简单易学,但如若要求复杂的仿真输入激励、较长的仿真时间或是要求打印输出信息乃至输出文件日志则显得不够用了。 本篇以上一篇的 3-8 译码器为基础,讲一下 Modelsim 仿真工具的使用方法。在 Modelsim 中不再提供图形的激励输 阅读全文
posted @ 2015-11-22 17:29 夏日时光 阅读(2932) 评论(0) 推荐(0) 编辑
摘要: 这篇讲的是使用 verilog 硬件描述语言编写一个 3 - 8 译码器。 3 - 8 译码器是一个简单的组合逻辑,用于实现并转串,其输入输出关系如下: | 输入 | 输出 | 000 --> 0000_0001 001 --> 0000_0010 010 --> 0000_0100 011 --> 阅读全文
posted @ 2015-11-22 11:15 夏日时光 阅读(3123) 评论(0) 推荐(1) 编辑
摘要: 在上一篇中详细的介绍了怎样创建原理图工程,这篇同样使用原理图工程新建一个多路选择器,目的是学习使用图形输入的仿真工具输入仿真激励。 新建工程,并绘制以下的原理图。 编译项目,会多出一个警告: Critical Warning (169085): No exact pin location assig 阅读全文
posted @ 2015-11-16 13:14 夏日时光 阅读(5302) 评论(0) 推荐(0) 编辑
摘要: 关于 Quartus 的操作可以使用 Quartus 自带的帮助,帮助中带有全套的操作教程。 中文网络教程链接(链接至 altera中文官网,点击观看) Quartus II 软件设计系列:基础 Quartus II 软件中的原理图设计 SignalTap II 嵌入式逻辑分析器 使用 Nios I 阅读全文
posted @ 2015-11-14 15:40 夏日时光 阅读(8085) 评论(0) 推荐(0) 编辑