= HF8V = / = SP8WJT = / = SP0106RZ =


HF-6158


PROJECT: HF-6158
DESCRIPTION: Digital System on ATMEGA64
STATUS: u
PROJECT START DATE: 2024
LOCALISATION: PL
DOCUMENTATION: TM, DVC
PCB: TPD52906#3 , TPD52919#4
SYSTEM DIMENSIONS: 70 x 50 mm
WEIGHT: 36.6 g
SUPPLY VOLTAGE: 3.3V or 5V
HARDWARE VERSION: 1.4
SOFTWARE VERSION: 1.34

CPU
CPU CATALOG NUMBER: UC-137
CPU: ATMEGA64
CPU BRAND: ATMEL
CPU FAMILY: AVR
CPU ARCHITECTURE: 8b
FLASH: 64K
RAM: 4K
EEPROM: 2K
MAX CLOCK: 16MHz
THN ADDRESS: 0x3E
UC TYPE: 0x13


HF-12258 on HF-60258 extension board


HF-60258 extension board without uC module (ver. 1.3)




Modules:
PROJECTSTATUSPCBREMARKS
HF-12258uTPD52906#3 Microprocessor module (removable)
HF-60258uTPD52919#4Extension Board
HF-1469#1uTPD42236#1Option: mobile memory 4KB (DRIVE3)
HF-1469#2uTPD42236#2Option: mobile memory 4KB (DRIVE3)
HF-1471uTPD42236#3Option: mobile memory 32KB (DRIVE3)
HF-17763uTPD57763Option: hex keyboard
HF-17852uTPD57852Option: RS-232 converter
HF-17966uTPD57966Option: hex keyboard




Project Info

HF-6158 is used for various tentative projects and tests. Assembled on universal board can be easily modified, for example microprocessor can be changed for ATMEGA128 or similiar.

This system has the following features:
  • THOS-1 operating system
  • Embedded HAVR8 compiler and interpreter
  • 48 I/O pins (PORTA-PORTF) available as external ports
  • 5 I/O pins (PORTG) only for extension board devices
  • HF-10060 programming interface
  • Reset button
  • Function button
  • Function LED
  • LED supply voltage control
  • HF-10032 I2C interface (memory drives HF-1469, HF-1471, etc with THFS file system)
  • HF-10040 UART interface for communcation
  • Buzzer (CW output device)
  • Potection against reversed supply polarity


  • In practise I rarely need to switch output channel to UART OUTPUT DEVICE, I can handle all commands on CW OUTPUT DEVICE which is 24 WPM telegraphy.

    System Drives:

    DRIVE# DESCRIPTION TYPE SIZE FILE FORMAT SYSTEM SEGS USER SEGS REMARKS
    DRV0 ATMEGA64 FLASH fixed 64KB none 256 0 system drive, read only
    DRV1 ATMEGA64 EEPROM fixed 2KB THFS8 3 5 system/user
    DRV2 24C16 on extenxion board fixed 2KB THFS8 4 4 system/user
    DRV3 HF-1469 mobile 4KB THFS8 1 15 user, HF-10032 slot
    DRV3 HF-1471 mobile 32KB THFS8 1 127 user, HF-10032 slot
    DRV4 HF-64107 mobile 32KB THFS8 1 127 user, must be externally connected
    DRV5 HF-64111 mobile 512KB THFS8 8 2040 user, must be externally connected
    DRV6 --- --- --- --- --- --- not installed but supported by software
    DRV7 --- --- --- --- --- --- not installed but supported by software


    Port assigments:

    PORT SIGNAL_NAME TYPE ASSIGMENT EXTERNAL DEVICES SIGNAL NAMES
    PORTA PA0-PA7 general I/O user HF-40125_ADRL, HF-6423_ADRL, HF-64107_ADRL, HF-64112_DTA, HF-90113_ADRL
    PORTA PA0 general I/O user CONN_TESTER, HF-1549_CS, HF-1782_DIG9, HF-6417_CS, HF-90112_CS, RC_CALIB
    PORTA PA1 general I/O user HF-1549_CK, HF-1782_LED, HF-6417_CK, HF-90112_CK
    PORTA PA2 general I/O user HF-1549_DI, HF-6417_DI, HF-90112_DI
    PORTA PA3 general I/O user HF-1549_DO, HF-6417_DO, HF-90112_DO
    PORTA PA4 general I/O user
    PORTA PA5 general I/O user
    PORTA PA6 general I/O user
    PORTA PA7 general I/O user
    PORTB PB0-PB7 general I/O user HF-40125_ADRH, HF-6423_ADRH, HF-64107_ADRH, HF-90113_ADRH, INV_IN
    PORTB PB0 general I/O user HF-12102_CLK, INV_IN0, MMC_CS, SPI_SS
    PORTB PB1 general I/O user HF-10060_SCK, HF-12102_DTA, INV_IN1, MMC_CLK, SPI_SCK
    PORTB PB2 general I/O user HF-12102_LCK, INV_IN2, LCD1602_RS, MMC_DO, SPI_MOSI
    PORTB PB3 general I/O user INV_IN3, LCD1602_E, MMC_DI, SPI_MISO
    PORTB PB4 general I/O user INV_IN4, LCD1602_DB4
    PORTB PB5 general I/O user INV_IN5, LCD1602_DB5
    PORTB PB6 general I/O user INV_IN6, LCD1602_DB6
    PORTB PB7 general I/O user INV_IN7, LCD1602_DB7
    PORTC PC0-PC7 general I/O user INV_OUT
    PORTC PC0 general I/O user 4094_DRIVER_CLK, DIGAN_ENA, I2C_SCL, INTEGRATOR_IN, INV_OUT0, HF-1711_A0, HF-1781_A0, HF-1782_B, HF-17576_CLK, HF-17713_CLK, HF-2861_CLK, HF-40125_WE/, HF-6016_WR/, HF-6423_CS/, HF-64107_W/, HF-64110_CS/, HF-64111_CS/, HF-64112_A8, HF-90113_WE/, TIMER
    PORTC PC1 general I/O user 4094_DRIVER_DATA, DIGAN_IN, I2C_SDA, INTEGRATOR_OUT, INV_OUT1, HF-1711_A1, HF-1781_A1, HF-1782_K, HF-17576_SDA, HF-17713_DI, HF-2861_DTA, HF-40125_OE/, HF-6016_DATA_ADR, HF-64107_G/, HF-64110_CK/, HF-64111_CK/, HF-64112_A9R, HF-90113_OE/, THN, TIMER_INV
    PORTC PC2 general I/O user HF-1711_A2, HF-1781_A2, HF-1782_C, HF-17713_CE, HF-40125_CS/, HF-6423_WE/, HF-64107_E, HF-64110_DO, HF-64111_DO, HF-64112_RAS, HF-90113_CS/, INV_OUT2
    PORTC PC3 general I/O user HF-1711_WR, HF-1781_RST, HF-1782_A, HF-6016_CLK_L, HF-6423_OE/, HF-64110_DI, HF-64111_DI, HF-64112_CAS, INV_OUT3
    PORTC PC4 general I/O user HF-1711_CU, HF-1514_SDA, HF-1781_WR/, HF-1782_D, HF-6016_CLK_H, HF-64112_OE, INV_OUT4
    PORTC PC5 general I/O user HF-1514_SCL, HF-1781_RD/, HF-1782_F, HF-64112_WR, INV_OUT5
    PORTC PC6 general I/O user HF-1781_IC205_CS/, HF-1782_G, INV_OUT6
    PORTC PC7 general I/O user HF-1781_IC208_CS/, HF-1782_E, INV_OUT7
    PORTD PD0-PD7 general I/O user HF-1781_DTA, HF-40125_DTA, HF-5121, HF-6016_DTA, HF-6423_DTA, HF-64107_DTA, HF-90113_DTA, SPECAN_SCAN
    PORTD PD0 general I/O user HF-1711_D0, HF-1782_DIG1, INT0, SQW_GEN
    PORTD PD1 general I/O user HF-1711_D1, HF-1782_DIG2, INT1
    PORTD PD2 general I/O user HF-1711_D2, HF-1782_DIG3, INT2
    PORTD PD3 general I/O user HF-1711_D3, HF-1782_DIG4, INT3
    PORTD PD4 general I/O user HF-1711_D4, HF-1782_DIG5
    PORTD PD5 general I/O user HF-1711_D5, HF-1782_DIG6
    PORTD PD6 general I/O user HF-1711_D6, HF-1782_DIG7
    PORTD PD7 general I/O user HF-1782_DIG8
    PORTE PE0-PE7 general I/O user
    PORTE PE0 general I/O user HF-10040_RXD, HF-10060_MOSI, ICSPCLK, RXD0
    PORTE PE1 general I/O user HF-10040_TXD, HF-10060_MISO, ICSPDAT, TXD0
    PORTE PE2 general I/O user ICSPPROG
    PORTE PE3 general I/O user
    PORTE PE4 general I/O user INT4
    PORTE PE5 general I/O user INT5
    PORTE PE6 general I/O user INT6
    PORTE PE7 general I/O user INT7
    PORTF PF0-PF7 general I/O user HF-17763, HF-17966
    PORTF PF0 general I/O user ADC0, HF-17763_R1, HF-17966_4, SPECAN_IN
    PORTF PF1 general I/O user ADC1, HF-17763_R2, HF-17966_3
    PORTF PF2 general I/O user ADC2, HF-17763_R3, HF-17966_2
    PORTF PF3 general I/O user ADC3, HF-17763_R4, HF-17966_1
    PORTF PF4 general I/O user ADC4, HF-17763_C1, HF-17966_8
    PORTF PF5 general I/O user ADC5, HF-17763_C2, HF-17966_7
    PORTF PF6 general I/O user ADC6, HF-17763_C3, HF-17966_6
    PORTF PF7 general I/O user ADC7, HF-17763_C4, HF-17966_5
    PORTG PG0 extension board resources system reserve
    PORTG PG1 extension board resources system Function LED2
    PORTG PG2 extension board resources system Function switch SW2
    PORTG PG3 extension board resources system BOOT_RESET
    PORTG PG4 extension board resources system Buzzer BZ1


    Software:

    In current software version 1.21 there is 196 functions available for user (code size 17.7 KB), these are THOS-1 system functions, some drivers for various hardware inherited from older systems like HF-6030, HF-6048 and HF-6050 and some new developed functions and drivers. I still prefer writing for AVR than newer ARM processors. For some old equipment there is no need to use 100 MHz processor, 16 MHz AVR will do the job quite well because it is 5 times more efficient than INTEL 8x86 processors. All code has been written in pure assembler what is time consuming but very efficient in generated code size. Source code for these 17.7 KB executable code is more than 10 000 lines in more than 100 files (in assembler there is almost 2 source code lines for one generated word).
    For that reason capitalistic commercial programmers will never write code in assembler. It is too good and efficient for Capitalistic Regime. Their goals are other, huge and unefficient code where various bugs end exploits can be hidden for invigilation of capitalistic society by their oligarchic masters.

    Hardware version changes:

  • Version 1.4: introduced function LED2 which is logically connected with function switch SW2. When user calls function Wait_for_function_button LED2 is flashing with 1 Hz period untill SW2 is pressed. I found this helpfull to "synchronize" user to various processes when system must wait for user answer.


    Sources:
    [1] ATMEGA64 Datasheet


    Prefix 61

    HF Register

    Microcontrollers in my constructions and external equipment

    UC Database - my CPU collection

    Electronics

    Main Page