I have a question regarding the gpio-hstc card (http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&categoryno=67&no=322&partno=1). I'd like to use this board to expand the gpio of my DE2-115 dev. board. In the documentation it states that the HSMC connector pins are connected to GPIO pins. Am I correct in thinking that there is no need for a driver in my design? Meaning I can just map a HSMC pin as if it is a GPIO pin, or do I need to do something more.If you have any tips regarding the use of the board, I'd like to hear them as well.
Well I had a lot of other stuff to get working before I managed to do something with this adapter. But found that I had trouble when using the HSMC_TX_D_P[9?]. This is assigned to the same pin as nCEO. I remember reading something about this but I could not remember the solution. After about 30 minutes I remembered having a similar problem with another board once (I beleve it was the DE2-70) where a pin was configured as a programming pin.So for others who encounter this and immediately search this forum: 1. Go to Assignments->Device->Device and Pin Options... 2. Open menu Dual-Purpose Pins 3. Set nCEO from "Use as programming pin" to "Use as regular I/O".
Hi there,Thanks for sharing the tips with others. I had the same problem when I built a new project from scratch for the first time. Could you upload your project or send it to our support mail at email@example.com ? We'd like to take a look and see what's going on here. David from Terasic
@David, I will send you a mail in a couple of days. Is there other info you will need? Do you also need all the VHDL files, or is just the project enough? If you want the vhdl code I can setup an example.
Hi there,If it's alright with you, a complete project would be nice. I would like to get started by compiling the project here. I'll keep you posted if we need any other info. Thanks, David from Terasic
I have setup a quick test which has the same problem. It is always 2.12/2.11 volts whithout attaching any load, just a multimeter. Attached is the project and the sof file for a DE2-115 board with the Daughter card. I know the coding might not be as it should, but it is something I have quickly set up.
I am beginningn to think we need to start a new thread about the pin voltage. I just found out that HSMC_TX_D_p(16) gives 2,38V when high, and HSMC_RX_D_p(15) provides 2,42V. This seems to be a small difference, but I use these two pins (among other pairs with similar problems) to control a motor[controller], and then it transmits a PWM signal, and the difference becomes a problem. The motor does turn one way, but not the other. Any suggestions? Should I change the jumper to select another IO standard, this might make the difference proportionally smaller, but the main problem still exists.
Hi there,Your project gave funny numbers at HSMC_TX_D_p (0.38V) and HSMC_RX_D_p (0.34V), so I decided to start it all over by launching the DE2-115 system builder and keeping HSMC as default (you still have to select HSMC Default in the drag-down column). After making sure the jumper at HSM_VCCIO is installed on 2.5V, I then powered up the board I got 2.51V at both HSMC_TX_D_p and HSMC_RX_D_p. I've uploaded my project here for your reference. I understand it still doesn't explain why there's a small difference, but at least you could give it a try over there and see how it goes, given that I couldn't duplicate your result based on the project that you uploaded. David from Terasic
I modified it to set all HSMC bidir and outputs high.
assign HSMC_TX_D_P = 'b11111111111111111; assign HSMC_RX_D_P = 'b11111111111111111; assign HSMC_TX_D_N = 'b11111111111111111; assign HSMC_RX_D_N = 'b11111111111111111; assign SMC_CLKIN0 = 1; assign HSMC_CLKOUT_N1 = 1; assign HSMC_CLKOUT_N2 = 1; assign HSMC_CLKOUT_P1 = 1; assign HSMC_CLKOUT_P2 = 1; assign HSMC_CLKOUT0 = 1;And all gave about 2.44V. When making them all 0 among others, pin RX_D_N(16) gave 1.72V and RX_D_N(15) gave 2.11V. Later today I will try this with my project and post the results
I have followed your steps for creating a project exactly and found that a lot of pins do change, but not trough the full range. For example HSMC_RX_D_n16 Switches between 1.6 and 2.6 volts. Maybe this is something in Quartus? I use Quartus II 64-Bit Version 15.0.0 Build 145 04/22/2015 SJ Web Edition, no patches installed. I run this on a Windows 8.1 system.
I have done some measurements myself and have sent them to Terasic. They told me it might be damage to the IO of the FPGA. It might be an incorrect IO setting, but that was discussed before and is, for me, not the case. They think the latter more likely and they suggest I don't use the pins.Attatched you'll find my measurements from all IO pins.
Hi there,I went through the mail and discussed with my colleague from the technical support team. It seems there's misunderstanding here, as your measurements were wrongly recognized as the result based on our default code instead of the new voltage test.qar that you uploaded. I've asked my colleague to try your project and compare it with a blank project generated by the system builder but loaded with your code. I'll post up the result here when it's done. Thanks, David from Terasic