EEJournal

专题文章
现在就订阅

早期微控制器的历史,第9部分:通用仪器PIC1650

我几乎没有在早期微控制器历史的传奇故事中写下这一章。这并不是因为PIC1650微控制器不重要,只是在它的第一个版本中不太重要。通用仪器微电子公司(GI)设想PIC1650微控制器作为16位CP1600微处理器的外围芯片。事实上,“PIC”最初代表“外围接口芯片”,但该公司最终将其含义改为“可编程智能计算机”。在20世纪70年代,无论是CP1600微处理器还是PIC1650微控制器都没有对工业产生太大的影响。然而,GI经历了几次濒临死亡的经历,并在20世纪80年代末作为Microchip渡过了另一边,最初的PIC1650微控制器作为种子,最终成长为世界上最成功的微控制器产品线之一。

GI很早就加入了MOS LSI派对——事实上,该公司在1964年推出了第一个商用MOS IC,一个20位移位寄存器——该公司建立了大量成功的MOS LSI芯片组合。我记得:

  • 早期计算器芯片
  • 时钟和时钟无线电芯片和模块
  • 频率计数芯片
  • 电视调谐器和电视游戏芯片(包括一个“乒乓”游戏)
  • 音乐芯片和声音发生器
  • 文本-语音合成器
  • 数字电压表芯片
  • rom, sram, earom(电可变rom)
  • 键盘控制器
  • 通信芯片包括UARTs(通用异步接收机/发射机),P/ sar和P/SATs(可编程同步/异步接收机和发射机)

这是一条庞大的产品线。

GI与霍尼韦尔合作开发了16位微处理器,并于1975年推出了CP1600。它松散地基于数字设备公司的PDP-11小型计算机架构。霍尼韦尔公司在其过程控制计算机(称为多功能控制器)和相关设备中使用了这种微处理器。美泰电子(Mattel Electronics)在1979年1月的CES上发布的Intellivision家用视频游戏机中使用了CP1600的一个版本,名为CP1610。显然,除了霍尼韦尔的设备和美泰的Intellivision之外,CP1600并没有应用在许多产品中。

CP1600在20世纪80年代初从GI产品目录中消失。CP1610又存活了几年。亚当·奥斯本(Adam Osborne)是20世纪70年代微处理器的伟大编年史家,他写道,CP1600的设计不足主要是因为缺乏GI的支持,后者倾向于把精力集中在支持像美泰(Mattel)这样的大批量客户上。

有趣的是,霍尼韦尔那个时代的多功能控制器仍在翻新,并由西方过程计算机公司(Western Process Computers)等公司提供,后者提供了基于fpga的CP1600仿真,由阿兹比尔(Azbil)开发(原Yamatake,当时霍尼韦尔在日本的过程控制合作伙伴)。CP1600仿真作为一种支持策略,在40年历史的GI微处理器最终失效后,让这些旧的进程控制器继续运行。这个例子暗示了这些旧设备继续在生产中使用多长时间。

CP1600微处理器使用内存映射I/O,但是GI没有为这个微处理器总线开发传统的外围芯片。相反,GI开发了一个名为PIC1650的I/O微控制器来扩展CP1600的I/O功能。GI在1976年推出了PIC1650微控制器,同年英特尔发布了8048微控制器。

PIC1650不是第一个微控制器,也不是最好的。与大多数微控制器一样,PIC1650采用40针DIP封装,运行电压为5伏,采用古怪的哈佛架构,包含12位指令字、8位数据字和2级堆栈。PIC1650唯一的片上RAM是一个32字节的寄存器文件。最初的PIC1650有一个相对较小的512字ROM用于程序存储。

多年来,GI一直没有为PIC1650提供可紫外线擦除的EPROM或EAROM (EEPROM,使用更现代的术语)。相反,该公司开发了PIC1664,它带来了地址和数据总线,因此需要一个64针封装。相比之下,PIC1650的竞争对手拥有更大的rom,更大的ram,并提供带有窗口包的uv -擦除EPROM版本或带有接受uv -擦除EPROM的背负式插座版本。到1980年,GI为PIC1656添加了3级堆栈和用于子例程调用的“返回”指令。

20世纪70年代中期,PIC1650出现时,Brian Harden在GI公司位于苏格兰法夫的Glenrothes工厂工作。在PIC1650的早期阶段,GI Glenrothes收到了微控制器的TTL仿真板,而Harden当时正在为GI开发一种teletext/viewdata芯片。他需要一些方法来实现该芯片的用户界面,并决定尝试使用微控制器模拟器来实现用户界面。他成功了,为公司开创了先例。在接下来的几年里,GI开发了几种基于PIC1650微控制器的预编程设备。

哈登喜欢微控制器,并在1981年离开GI时继续使用它。他创办了一家设计咨询公司,专门从事基于PIC1650的设计。他早期的设计之一是克里达美光洗衣机的控制电子设备。他用PIC微控制器代替了机械控制。Creda Micron集成了多个PIC微控制器,用于电机速度控制、用户界面和整体机器管理。哈登一直经营着他的设计咨询公司,直到1998年,他估计自己四分之三的设计都是基于PIC微控制器。

到1981年,GI增加了PIC1670,增加了两倍的片上ROM。轻微的架构扩展给了PIC1670微控制器一个13位的指令字,而不是PIC1650的12位指令字,这允许PIC1670直接寻址一个更大的片上寄存器文件,并允许一些额外的指令。到1983年,PIC1650家族共有7个成员,其中包括第一个CMOS成员PIC16C58 - PIC1655A的低功耗版本-这是一个成本较低的28脚封装的PIC1650A。即使在那时,GI也瞄准了成本最敏感的PIC微控制器设计。

通用仪器于1987年将其微电子部门剥离出来,成为一家全资子公司。1989年,一群风险投资家收购了这家子公司,并将其命名为Microchip Technology。然而,Microchip的事情并不顺利。其销售额持平或下降,主要原因是来自日本半导体公司的竞争。该公司60%以上的收入来自磁盘驱动器行业,一个客户的收入占公司年收入的25%以上。Microchip有一个老化的晶圆厂,质量控制差,这导致了低产量和高制造成本,由于过多的废料。令人难以置信的是,该公司以低于成本的价格销售和运输一些产品。到1990年,该公司每季度亏损250万美元,手头的现金只够维持6个月。微芯片处于一个脆弱的位置。公司需要的是专注。

Steve Sanghi于1990年2月28日加入Microchip,担任执行副总裁。那天,当他在人力资源部签署雇佣协议时,他从公司对讲机里听到现任CEO要被解雇了,董事会正在开始寻找新的CEO。作为管理层改组的一部分,桑吉在人力资源部被要求离开公司,他被邀请来到董事会。他没有离开。三个月后,他成为Microchip的新任CEO。在接下来的9个月里,微芯一直处于破产边缘,而桑吉则在努力挽回局面。

Sanghi启动了产品线筛选,以寻找微芯可以通过其晶片厂获利的设备。获奖者包括PIC1650架构、uv可擦除eprom和eeprom。通过结合这三种手持技术,Microchip组装了第一个低成本、现场可编程PIC微控制器,售价仅为几美元,而摩托罗拉和英特尔的竞争对手微控制器售价超过10美元。现场可编程PIC微控制器对分销商非常有吸引力,因为它们可以保存在货架上,随时准备发货给客户。分销成为微芯PIC微控制器的重要渠道。

第一款Microchip PIC微控制器非常成功,该公司迅速发展了产品线,包括16位和32位品种。1990年,Microchip排名第20th最大的微控制器公司。到2002年,它是最大的微控制器供应商。在那些年里,Microchip只瞄准了一家公司:摩托罗拉,微控制器领域的老大。摩托罗拉MC6800微处理器架构已经发展出许多微控制器家族,包括MC6801、MC6805、MC68HC05、MC68HC08、MC68HC11和MC68HC12。这些庞大的家族将摩托罗拉推上了微控制器排行榜的榜首。Microchip在十年内成功地将PIC1650架构从底层提升到榜首。

我是Microchip登上微控制器宝座的见证者。片上EEPROM技术允许Microchip将其可擦除的微控制器放在低成本的塑料包装中,而其他微控制器供应商被迫使用昂贵的、带窗口的陶瓷包装来实现其可擦除的uv部件。我注意到Microchip很好地支持了它的客户,廉价的开发平台呼应并放大了它的低成本微控制器的吸引力。最后,我观察到Microchip如何采用一项积极的学术计划,教刚起步的开发人员如何使用Microchip微控制器,而不是竞争对手的产品。这个计划为Microchip的未来市场埋下了种子。到2002年,所有这些策略帮助Microchip的微控制器市场份额达到了顶峰。

Microchip的开始发生在微控制器的早期历史中,但该公司的成功发生在几十年后,在微控制器使用开始爆发的时代,新的微控制器家族开始以非常快的速度出现。在这一扩张时期,欧洲和日本的半导体制造商纷纷涌入市场。我希望在将来的某个时候,在另一篇系列文章中介绍微控制器历史的下一部分。

这是早期微控制器历史的第9部分,是本系列文章的结尾。我没有涵盖1980年以后的微控制器,也没有涵盖20世纪70年代开发的所有微控制器。我知道我省略了一些微控制器,因为除了数据表之外,缺乏记录信息,这导致了糟糕的历史记录。例如,我没有找到足够的信息来写关于国家半导体COP微控制器系列的完整文章。这前九篇文章是一个开始。

一些个人微控制器的历史被很好地覆盖在网上或来自计算机历史博物馆和斯坦福大学图书馆等机构的口述历史记录中。我甚至在旧电子邮件列表服务器和在线公告栏的在线档案中发现了黄金,我还在微控制器供应商自己的未经审核的在线用户对用户论坛中发现了一些内容。其他不太流行或不太出名的微控制器的记录很少,甚至完全消失在时间的迷雾中。

如果我在这九篇文章中遗漏了你最喜欢的微控制器,我道歉。然而,你有能力补救这种情况。如果你有一个关于本系列中所涉及的任何微控制器的好故事,或者对于我没有提到的微控制器,请在下面的评论中写下你的经历。

参考文献

驱动卓越:聚合系统如何将微芯片技术从一家失败的公司转变为市场领导者, Mike J. Jones和Steve Sanghi, Wiley, 2006

布莱恩哈登个人历史与PIC1650, Microchip 8位微处理器论坛,2004年3月2日

Microchip的史蒂夫·桑吉讲述如何让一家公司从债务中脱险,《电路》,2021年6月11日。

关于“早期微控制器的历史,第9部分:通用仪器PIC1650”的6个想法

    1. 一方面,我明白你的意思。去年的某个时候,我同意接手为一家公司维护一些PIC代码,因为创建它的人即将退休。我应该问更多的问题——原来有多种PIC类型的代码文件——所有的代码都是用PIC汇编语言编写的——我被告知代码是注释的——事实也是如此——问题是代码多年来一直在发展——注释没有那么多。我下载了PIC手册,心想“学习另一种汇编语言能有多难?”问题在于PIC架构,它因设备和家族的不同而不同,它反映了从它们的设计者计算每个晶体管开始的设备的发展。记忆库和跨越记忆库边界的规则让我热泪盈眶。然后一个朋友向我介绍了由Les Johnson创建的Positron PIC BASIC编译器(https://bit.ly/3rtDcw8).一次性支付39.99英镑的PayPal将使您获得最新和最好的编译器,以及任何和所有未来的更新和升级。使用复数“编译器”的原因是针对8位和16位pic有不同的编译器。两者都包含在内,附带的IDE根据代码中指定的设备选择适当的编译器,所有这些对用户来说都是不可见的,这正是我喜欢的方式。这些编译器非常棒——它们生成非常紧凑的机器代码,并为您处理绝大多数“底层”复杂性(如内存库和边界问题)。因此,我并没有为了维护汇编代码而牺牲自己,而是简单地用PIC BASIC重写了它,这是一种维护的乐趣。因此,我开始喜欢上pic所提供的一切,这是一堆(低价格,无数的配置,以适应每个应用程序-一旦你弄清楚如何通过它们-以及大量的包选项,包括LTH和SMT。

      1. 我写严格的asm代码没有问题,但PIC在许多方面确实是低能的,甚至是最新的PIC16一代。

        只有一个例子-阴影索引寄存器。人们会期望有两组寄存器,它们交换了它们的位置,因此一组寄存器可用作中断中的INDX,INDY,而它们的非活动部分可在FSR映射的高位置访问(例如IND_SAVEDX, IND_SAVEDY)。

        那样做是合理的。精简的实现(不需要特殊的HW资源),这也将带来简单,快速的转换吨中断和返回-不需要关心索引寄存器。
        在芯片上电/初始化期间,只需要设置IND_SAVEDX/Y一次。

        MC当然使用了最愚蠢的方法——内核实际上在每次中断时将INDX/Y复制到IND_SAVEDX/Y,反之亦然。

        这不仅需要一些时间或额外的数据路径来进行数据传输,这只意味着如果你想在中断期间使用INDX/Y寄存器,你必须在每次中断期间设置它们。

        请记住,这是经过大量迭代后的PIC16内核。

  1. 我在1998年用PIC16F84编写了一个1010个指令字的汇编语言无线电控制面板程序,2009年更新了硬件,我很喜欢这个指令集。我保持MS-DOS周围,所以我仍然可以运行视差spasm (16F84汇编程序)和spep (16F84程序员),如果我需要更新我的程序。

    我记得16F84数据字是8位,指令字是14位。“retw”指令有6位操作码和8位即时数据。retw从子例程调用中返回,将8位即时数据放在主寄存器w中。“call”指令的目标地址是添加到w中的值的即时常量。这两个指令的组合使得非常方便地查找由retw指令组成的表。

    诚然,这种聪明对于用高级语言编写的大型程序毫无意义。

    1. 你显然没有用它写复杂的代码来快速运行。
      没有条件分支,只有条件指令跳过。
      做条件循环,必须快速运行,取决于多个条件得到地狱真正的快。

留下回复

有特色的博客
2023年1月5日
了解软件验证和强大的基础设施如何保护汽车OTA更新,以改善联网车辆的ADAS和汽车网络安全。文章如何大规模保护汽车OTA更新首先出现在从硅到软件....
2022年12月28日
我不得不说,其中许多机械运动对我来说都是全新的,从第一个开始,我现在知道它是施密特耦合....
2022年12月20日
作者:James Paris和Armen Asatryan在实现过程中自动进行简短检查,让设计团队快速找到并修复这些错误... ...

有特色的视频

基于软件的自检作为处理单元的安全机制

Synopsys对此

了解Synopsys ARC软件测试库如何帮助您在动力和区域预算范围内进行高性能安全关键型汽车设计。

了解更多

特色粉笔谈话亚博里的电子竞技

用于家庭保健的电源转换

逮老鼠的电子产品而且崔公司。

你知道吗,到2030年,全球家用医疗设备市场预计将超过550亿美元。在这集粉笔谈话中,CUI公司的布鲁斯·亚博里的电子竞技罗斯和阿米莉亚·道尔顿探索了家庭保健设计所需的各种安全认证和法规。他们还研究了温度、隔离和漏电流在家庭医疗保健电源转换中的作用,以及家庭医疗保健应用所需电源的额外要求。

点击这里了解更多关于CUI Inc SDM300G-U和SDM300G-UR GaN适配器的信息

Baidu