Menu

18FxxQ71

Anobium
2023-02-22
2023-03-03
  • Anobium

    Anobium - 2023-02-22

    Just added the 18FxxQ71 series. This is ONLY supported in v1.xx.xx not earlier versions. This will be included in the updates to GCStudio in the next few days.

    These Q71's have every possible peripheral ...except for .... Real Time Clock. New features include:

    VPORT – Virtual Port

    The Virtual Port module allows for interconnection of multiple peripherals internal to a device without the need for an external I/O pin. A device may contain multiple Virtual Ports, each Virtual Port consisting of eight virtual pins that are represented by eight bits similar to regular device ports.

    This module can be used as a high-level input selection multiplexer for the entire device, which can connect
    the output of digital peripherals into the inputs of other peripherals internally without using any external I/O pins.

    Using the Virtual Port to connect peripherals in this manner allows the user to connect multiple core independent peripherals on the device to form hardware-based state machines. In addition to the input selection multiplexers, this module also offers a flip-flop for each virtual pin to latch the output
    value. The flip-flop may be bypassed to connect the output of one peripheral directly to the input of another. Figure

    The Virtual Port module offers many different features such as:
    • 8 virtual pins for each Virtual Port
    • Software read/write through PORTW and LATW registers
    • Extensive clock selection and input source selection
    • Individual flip-flop for each bit to latch output value
    • Common clock source for all bits of a Virtual Port
    • Individual input control for each bit of Virtual Port
    • Individual output available to other modules via PPS input
    • Interrupt-on-Change, DMA and ADC triggers for each virtual pin

    There is one Virtual Port available on this device – PORTW.

    APM - Analog Peripheral Manager

    The Analog Peripheral Manager (APM) allows analog modules to be core independently switched on and off
    periodically using timers. This feature can be used to manage analog peripherals that are available on the device such as the Analog-to-Digital Converter (ADC), Comparator (CMP), Digital-to-Analog Converter (DAC), Operational Amplifier (OPA) and the Fixed Voltage Reference (FVR) modules, among others. This peripheral is ideal for low power applications that use analog sensors that only need to be periodically measured, as opposed to sensors that must be continuously monitored. The Analog Peripheral Manager allows users to set custom time intervals in which configured analog modules will activate to perform a specified function periodically before deactivating and returning to a low-power state after the programmed time has elapsed. The Analog Peripheral Manager allows users to optimize the total power consumption in applications by activating analog peripherals without waking up the CPU.

    Universal Timers

    Two timers that can be daisy-chained to make a 32bit timer.


    A most interesting new PIC

    Enjoy

    Thank you,

    Evan

     
  • Anobium

    Anobium - 2023-02-22

    PIC18FxxQ71 Programming

    PICKItPlus, PK4 and SNAP and more Microchip programs support this chip family.

    PICKItPlus - you will require a 2.63.237 database.
    PK4 and SNAP the latest configuration is required.

     
  • Anobium

    Anobium - 2023-02-27

    Demos

    See GitHub - https://github.com/GreatCowBASIC/Demonstration_Sources/tree/main/Vendor_Boards/Great_Cow_Basic_Demo_Board/18f26q71_chiprange_demonstrations

    010_hello_world.gcb
    020_blink.gcb
    030_blink_another_way.gcb
    040_rotate_the_leds.gcb
    040_rotate_the_leds_using_ASM.gcb
    050_show_a2d_value_on_leds.gcb
    060_variable_rotate_the_leds.gcb
    070_debounce_the_switch.gcb
    080_using_the_reset_switch_as_an_input.gcb
    090_reversible_leds_with_variable_delay.gcb
    100_reversible_leds_with_variable_delay_to_serial_terminal.gcb
    110_rotate_the_leds_using_16bit_timer0_.gcb
    120_use_pwm_via_ccp_and_adc_to_control_led_brightness.gcb
    130_rotate_the_leds_using_8bit_timer0.gcb
    140_rotate_the_leds_using_the_timer_overflow_event.gcb


    As I progress through the demos ... the demos show up issues with the toolchain.

    At tool chain build 1218 the PPSTool for the Q71 is not working as expected and I am adding the PPS commands by hand. This will be fixed in a later tool chain build.

     

    Last edit: Anobium 2023-02-27
  • Anobium

    Anobium - 2023-03-01

    More 18FxxQ71 demos.

    150_show_i2c_devices_to_serial_terminal.gcb
    160_showing_eeprom_data_to_serial_terminal.gcb
    165_showing_tableeeprom_data_to_serial_terminal.gcb
    170_using_external_interrupt_to_raise_an_event.gcb
    180_ensuring_program_matches_chip_specfiied_to_serial_terminal.gcb
    190_using_an_interrupt_to_manage_the_pwm_signal_to_control_an_leds_brightness.gcb
    200_i2c_glcd_using_ssd1306_128_32.gcb
    210_i2c_glcd_using_ssd1306_128_64.gcb
    220_i2c_glcd_sprites_using_ssd1306.gcb
    230_i2c_glcd_voltmeter_using_ssd1306.gcb
    240_pwm_fixed_modes.gcb
    250_pwm16bit_variable_modes.gcb
    260_spi_glcd_using_SSS1331.gcb
    270_millis.gcb
    280_showing_saf_data_to_serial_terminal.gcb
    290_showing_progmem_data_to_serial_terminal.gcb
    300_using_CLC.gcb

    We, Bill Roth and I, are working on two more demos for SAF memory and SPI Operations. Once these are completed these will be posted to GitHub.

    The minimum build for 18FxxQ71 support is tool chain build 1219. Build 1219 contains dependent/critical changes to the compiler and specific libraries of the 18FxxQ71 chip family.

     
  • Anobium

    Anobium - 2023-03-02

    Added SPI demo.

    See GitHub - https://github.com/GreatCowBASIC/Demonstration_Sources/tree/main/Vendor_Boards/Great_Cow_Basic_Demo_Board/18f26q71_chiprange_demonstrations

    010_hello_world.gcb
    020_blink.gcb
    030_blink_another_way.gcb
    040_rotate_the_leds.gcb
    040_rotate_the_leds_using_ASM.gcb
    050_show_a2d_value_on_leds.gcb
    060_variable_rotate_the_leds.gcb
    070_debounce_the_switch.gcb
    080_using_the_reset_switch_as_an_input.gcb
    090_reversible_leds_with_variable_delay.gcb
    100_reversible_leds_with_variable_delay_to_serial_terminal.gcb
    110_rotate_the_leds_using_16bit_timer0_.gcb
    120_use_pwm_via_ccp_and_adc_to_control_led_brightness.gcb
    130_rotate_the_leds_using_8bit_timer0.gcb
    140_rotate_the_leds_using_the_timer_overflow_event.gcb
    150_show_i2c_devices_to_serial_terminal.gcb
    160_showing_eeprom_data_to_serial_terminal.gcb
    165_showing_tableeeprom_data_to_serial_terminal.gcb
    170_using_external_interrupt_to_raise_an_event.gcb
    180_ensuring_program_matches_chip_specfiied_to_serial_terminal.gcb
    190_using_an_interrupt_to_manage_the_pwm_signal_to_control_an_leds_brightness.gcb
    200_i2c_glcd_using_ssd1306_128_32.gcb
    210_i2c_glcd_using_ssd1306_128_64.gcb
    220_i2c_glcd_sprites_using_ssd1306.gcb
    230_i2c_glcd_voltmeter_using_ssd1306.gcb
    240_pwm_fixed_modes.gcb
    250_pwm16bit_variable_modes.gcb
    260_spi_glcd_using_ILI9341.gcb
    270_millis.gcb
    280_showing_saf_data_to_serial_terminal.gcb
    290_showing_progmem_data_to_serial_terminal.gcb
    300_using_CLC.gcb


    These demos test the compiler and the tool chain. They are intended to show what we tested and that the demos worked. These demos cover the main components of the compiler with this specific chip. It covers all the basics - this way we know the compiler works and that any issues have been resolved.

    1. Basic I/O - inputs and output
    2. RAM Memory addressing
    3. Port.bit addressing
    4. Maths
    5. ADC
    6. Timing
    7. Timers 8 and 16 bit
    8. CCP/PWM
    9. Interrupts
    10. I2C - hardware - discovery
    11. EEProm
    12. Tables
    13. Self write to progmem
    14. Basic PWM
    15. I2C - GLCD
    16. Fixed Mode PWM
    17. 16bit PWM
    18. SPI - GLCD
    19. Millis()
    20. Serial
    21. Self write to SAF
    22. CLC

    As an insight. Adding the Q71 has taken Bill Roth and I about 80 man hours. We are documenting the process for those that follow us. :-)

     
  • Anobium

    Anobium - 2023-03-03

    Formal release of compiler and tool chain for PIC18FxxQ71 is build 1219.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.