Forum Discussion
Altera_Forum
Honored Contributor
14 years ago --- Quote Start --- It's beyond my comprehension why Altera doesn't provide a virtual com-port driver for this component. In the end that's exactly the purpose of a UART. --- Quote End --- My 2c on why they do not implement a Virtual COM Port; the JTAG port is too limited. The JTAG interface is TCK, TMS, TDI and TDO. This interface is operated much like an SPI interface in that every write is a read. When an SPI device wants to communicate with the host it first generates an interrupt and then the host performs a read (and write) of the SPI status register to determine the source of the interrupt. Why not do the same with the JTAG interface? ... Oh bummer, there is no interrupt pin defined. Why not add it? Because its too much work to implement, even more work to support, and better solutions exist. To emulate a UART, the Altera software polls the JTAG interface. You can see this polling if you trace the USB traffic using Wireshark under Linux. There's a lot of traffic. Ideally Altera software developers could have hidden this under a driver layer which in turn passes characters off to a COM port or serial driver, however, the fact that their USB-Blaster driver is essentially the FTDI driver, and their PCIe drivers are implemented using Jungo, leads me to believe that they don't really have Windows/Linux driver developers on staff (or they are too busy with NIOS Linux work). If you take a step back, you'll realize that Altera is simply being practical. What would be nice though, is if Altera just opened up the software interface for JTAG, so Windows/Linux driver developers could implement these much more convenient/natural interfaces. If you really want a USB-to-Serial port, just use an FTDI expansion cable (C232HD or C232HM). They're $26 on Digikey. Cheers, Dave