最近看上了一台全新的U高段UP450D,入手之后打算改到业余段玩一下,由于该机器采用旧石器时代的EPROM存储频道,而且网上搜了一下写频率码的资料不多,于是决定先把它研究透,到时再用单片机改造一下。经过几天的钻研,终于把UP450D写频原理完全搞清楚了,以下分享给大家:
一、总体原理
首先很感谢BG4IL于2005年提供的图纸,虽然老旧但很管用,唯一确定是分辨率太低,看那位ham有存有高清版本的放出来。一切研究首先基于这份图纸:
https://www.hellocq.net/forum/showthread-t-107717.up450%E5%9B%BE%E7%BA%B8%EF%BC%8C%E9%80%81%E7%BB%99%E9%9C%80%E8%A6%81%E7%9A%84%E6%9C%8B%E5%8F%8B.html 
整个写频电路有4片集成电路,F2732存储频率数据,CD4021负责将8位的并行数据转为串行并送到M54959这块PLL芯片,CD4001是四2输入与非门,负责产生读存储和写码的辅助控制信号,CD4060负责产生时钟的产生,包括写码、刷新以及PLL芯片输入触发RST信号的产生。
二、频道数据是怎样存放的
F2732数据存储格式如下图:

由结构可知,2732内部寻址分为X轴和Y轴,X轴256列,Y轴16行,每个地址存储8bit数据,容量256X16X8=32768(32K),通过4线数码旋钮控制A6A5A4A3进行某一频道寻址。看下表:

Y轴可以分成4个区域,以中线为分界,左边8个为一个频道数据,右边8个为另一个频道的数据,究竟是左边还是右边,由A3的值决定,A3=0则读左边,A3=1则读右边,每一个频道包括接收和发射的数据合共8个8bit共64bit。
当然我们可以完全抛弃EPROM的物理结构,直接按寻址逻辑摆成我们想要的格式,例如以下格式,把A3理解为X轴,那么16个频道就自上而下的呈现在我们面前了:

数码旋钮控制A6A5A4A3进行某一频道寻址,8个8bit的数据寻址由A2A1A0来控制,由原理图可知,发射和接收的寻址是有区别的,见下图:

发射机的存储芯片A2(Pin6)接了一个控制电路,当机器处于中继模式时为高电平1,当处于对讲模式时为低电平0,而接收机存储芯片A2(Pin6)是电阻接地恒定低电平0,所以可以判断,A2控制读接收(表格左边)还是发射的数据(表格右边)。
总结:通过数字旋钮对A2~A6寻址来选择某一频道,RX模块和TX模块通过A2的状态各自读取4个8bit数据。
三、如何将数据输出PLL
上面提到,具体频率数据是4个8bit组成共32bit,通过CD4021(8bit计数器移位寄存器),把8bit的并行数据变换成串行输出,这个很好理解不多说。关键人物是CD4060,充当大脑的角色,控制着CD4021输出、F2732选址以及M54959的输入,见下图:
简单解析一下CD4060的工作:
Pin7为Q4输出,频率为RC振荡的1/16,作为CD4021和M54959的CLK时钟。
Pin6是Q7输出,相对于Q4为1/8输出,当工作到第8个时钟循环时,该输出触发CD4021更新下一个8bit数据。
Pin14、13控制F2732的A1A0,具体频率的4个8bit就是靠这个来控制输出了,另外通过CD4001的与非门,实现对M54959的RST触发,更新PLL的寄存器数据。
码字辛苦,待续……