• 学习心得
  • 培训心得
  • 军训心得
  • 工作体会
  • 经验交流
  • 政治学习
  • 读后感
  • 观后感
  • 公务员
  • 感想随笔
  • 教学反思
  • 反腐倡廉
  • 两会心得
  • 实践报告
  • 您现在的位置:站轩范文网 > 心得体会 > 经验交流 > 正文

    单片机原理 基于PIC16C54单片机的智能软件狗设计

    来源:站轩范文网 时间:2018-08-25
    摘要:介绍一种基于PIC16C54单片机93C46串行EEPROM智能型软件狗的硬件和软件设计。本软件狗利用微控制器的特点,利用简化的DES算法进行加密,增加了软件狗的破解难度。
      关键词:单片机软件狗数据加密
      
      随着各种计算机应用软件、工具软件的涌现,由此引起的计算机知识产权案件层出不穷,引出了计算机安全保密技术在计算机软件版权保护中应用的新课题。实现计算机版权保护的技术方法很多,概括起来可以分为三大类:软件法、硬件法、软硬件结合法。软硬件结合法结合了软件法和硬件法的特点。从软件设计上增加反跟踪的难度,从硬件上增加仿制和状态分析难度。硬件部分主要完成状态加密和检查。软件狗是一种插在PC打印口上的用于应用软件版权保护的设备。商品化的软件狗产品向用户提供软件狗硬件、应用程序定制工具、应用软件和软件狗的接口程序库。从硬件结构方面讲,软件狗的发展已经历了五代。第一代简单地将打印机的控制或数据线与状态线通过电阻或二极管连接;第二代增加了一些门电路,将某些控制线或数据线经过简单的逻辑运算后输出到状态口线上;第三代使用GAL或EPROM器件;第四代使用串行EEPROM器件;第五代在第四代的基础上增加了微处理器,因此称为智能型软件狗。本文介绍的软件狗使用软硬件结合法,属于第五代软件狗。
      
      图1电路原理图
      
      1硬件原理
      
      由于软件狗插在PC打印口上,因此软件狗的硬件设计除了满足其软件保护功能外,还必须着力解决如下三个问题:由于PC的打印口没有提供电源线,要使单片机和串行EEPROM芯片工作,就必须想办法为它们提供电源,并且必须采用低功耗设计;不能影响PC对打印机的正常操作;硬件成本必须足够低。
      
      PIC系列单片机是使用Harvard总线和RISC结构的单片机,具有功耗低、高速、开发容易、价位低、体积小等特点。93C46B是采用CMOS工艺制造的64×16bit结构8引脚的串行可用电擦除可编程只读存储器,同样具有功耗低、价位低、体积小等特点。这两种器件能够满足对硬件设计的低功耗和低成本的要求。
      
      图1为本软件狗的电源原理图。包括PIC16C54及93C46构成的单片机系统、复位电路电源电路三部分。
      
      图1中,R5、C3组成系统上电复位电路;D2、D3、C2组成系统电源电路;D1、R1、R2、C1组成PIC16C54的外部RC振荡电路;PIC16C54通过其A口控制93C46串行EEPROM;T0CLKI引脚用于监测当前PC是否控制打印机;RB7引脚用于监测PC当前是否与本软件狗联系,并选择单片机当前工作的时钟频率;RB4、RB5、RB6是软件狗向PC方向发送数据的接口信号线;RB0~RB3、RB5是PC向软件狗方向发送数据的接口信号线;R6是PIC单片机工作于外部RC振荡电路方式时推荐的间接接地电阻,有利于系统抗干扰和振荡电路的稳定性;R3、R4用于防止打印机和单片机之间信号发生冲突。
      
      PC打印口中数据线和控制线为输出线,控制线的驱动能力较强。为了不影响打印机的工作,只能选择一根不常用并且不会让打印机误动作的控制线(初始化线IP)为软件狗提供电源。但单片机对串行EEPROM编程时系统需要的功率比较大,因此在软件狗工作时又用了一根数据线(D7)提供更大的电源电流。本软件狗工作于三种状态:当IP和D7都为低电平时,软件狗不工作;当IP为高电平时,软件狗工作于低功耗状态:当IP和D7都为高电平时,软件狗工作于正常状态,此时可以对软件狗进行任何操作。由于IP信号只有在PC系统启动时为高电平,一般情况下驱动程序和应用软件很少对此信号线进行操作,平时此信号线一般保持低电平。因此软件狗控制软件可以将此信号线置为高电平使单片机可靠复位,并进行一定的初始化工作。此时,RC振荡电路的R2为220kΩ,系统工作于<200kHz频率时,软件狗的单片机软件在此状态下不会对串行EEPROM编程,因此软件狗的耗散功率达到最低。当D7信号也被置高时,此时,RC振荡电路的R2|R1<4.7kΩ,系统工作于>4MHz频率时,软件狗进入正常工作状态。
      
      当PC对打印机进行操作时,软件狗不应该往并口输出任何信息。由于PC对打印机的操作总是以将并口的选通线置为高电平开始,因此可以通过对并口选通线的上升沿监测,判断PC是否对打印机开始操作。另外,还通过监测IP信号和D7信号来判断软件狗是否可以开始工作。只有在并口选通信号为低电平,IP和D7都为高时,软件狗才允许向并口信号线输出。
      

    [1] [2] 下一页

    推荐访问:基于PIC16C54单片机的智能软件狗设计 pic16c54c电路图 pic16c54c中文资料