Author Topic: Fast prototyping hack: 10 layers PCB in 2 hours, no chemicals, IT8705F, ALC201A  (Read 197 times)

0 Members and 1 Guest are viewing this topic.

Online RoGeorgeTopic starter

  • Super Contributor
  • ***
  • Posts: 6202
  • Country: ro


In case you wonder "but why?", I am learning how to write a Linux kernel driver, and that is how a hardware guy is doing software.  ;D

So far exercised with writing a driver for an RGB LED, then for reading a button, outputting PWM to a buzzer, and reading a 16-bits ADC  (an SPI kernel driver for ADS1118).  During this time I've kept adding wires with various peripherals, until the Raspberry Pi header became full of wires, and the workbench full of ziplock plastic bags:



Even so, those peripherals were too simple to exercise more advanced aspects of a kernel driver.  So, I've searched my chips inventory for whatever else I might have in stock and worthy for a kernel driver, and preferably something more useful than just a blinking LED.

The candidates were an RTC chip (my RPi doesn't have an onboard clock with battery, it needs internet to get the datetime), a UART chip, or a 10-bit 40MSPS ADC.  Though, in terms of ADC choices, the low speed 16-bit ADC would be more useful as a high resolution data logger for the lab.

An LPT (parallel printer port) would have been a useful addition, too, because I have an old FPGA board with an LPT programmer, and no LPT port in the current PC.  I went through my EE scrap boxes looking for a LPT chip, and realized no motherboard has them since the times of the ISA cards

More recent motherboards are using a super IO chip, with a low pin count bus, and with all the HW controllers for low speed peripherals in it:  LPT, 2xUART, IR, smart card reader, 48 gpio, 8-bit ADC w 8ch, 3xPWM fan, floppy disk controller, flash writer, etc.  That is what i.e. the IT8705 is doing.



That chip would make a very useful Raspberry Pi hat, and offer plenty of hardware devices to practice further with the kernel drivers writing.

Bonus, near the IT8705F (the LPC IO chip), there is an I2S sound codec ALC201 (Raspberry Py only has one line out Jack, no input, and even the line out is not from a proper codec, the line out sound is played through 2 PWM pins).  So, yet another opportunity to exercise writing a sound driver.

That is, if the two chips are still functional after the motherboard hack.  :)

« Last Edit: April 20, 2024, 06:09:13 pm by RoGeorge »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf