I am using a Basys-3 board to build a prototype. One of the features of this prototype involves giving the user an access to a rugged wearable keyboard. The Basys-3 will be controlling this keyboard.
The keyboard has a USB Type A output connector and I am attaching that connector to the USB-Host connector (J2) on the Basys-3 board. Inside the Basys-3, there is an auxiliary function microcontroller (PIC24FJ128) that hides the USB HID protocol from the FPGA and emulates an old-style PS/2 bus.
Inside the FPGA, I am using an AXI PS/2 1.0 IP Core to take the PS/2 outputs from the PIC24FJ128 (PS2_CLK to pin C17 and PS2_DAT to pin B17 of the Artix-7 FPGA). Please refer to the attached PDF document to see the version I am using.
Finally, I am using an XINTC and an AXI Interconnect blocks to route the AXI PS/2 Core to a MicroBlaze softprocessor. On the attached document, I added a block diagram that shows the chain of devices that allow connection between the keyboard and the MicroBlaze softprocessor.
I have tested that my application is able to interact with regular keyboards for a PC. However, when I try to interact with this specific wearable keyboard, I am not being able to communicate with the actual keyboard device. I can only access a mouse device that is available as part of this wearable keyboard.
According to what I have researched, it is possible to put two devices (keyboard + mouse) through the USB HID protocol. But I am wondering if this access to the two devices is still available after the Auxiliary Function Microcontroller PIC24FJ128 converts the USB HID into PS/2 protocol. Based on the documentation of the Basys-3 board, you can only have either a mouse or a keyboard at the same.
My specific question to you is: Given my current HW setup, is there a way to access the keyboard + mouse inside the wearable keyboard?
The wearable keyboard device reply that I am getting is 0x03 which means that the device is identified as a "Mouse with scroll wheel" based on the table below:
Sorry for giving you a lot of information. I am hoping you can provide me some support around the capabilities of the PIC microcontroller on the Basys-3 board.
Question
Gabriel Uribe Romero
Hello,
I am using a Basys-3 board to build a prototype. One of the features of this prototype involves giving the user an access to a rugged wearable keyboard. The Basys-3 will be controlling this keyboard.
The keyboard has a USB Type A output connector and I am attaching that connector to the USB-Host connector (J2) on the Basys-3 board. Inside the Basys-3, there is an auxiliary function microcontroller (PIC24FJ128) that hides the USB HID protocol from the FPGA and emulates an old-style PS/2 bus.
Inside the FPGA, I am using an AXI PS/2 1.0 IP Core to take the PS/2 outputs from the PIC24FJ128 (PS2_CLK to pin C17 and PS2_DAT to pin B17 of the Artix-7 FPGA). Please refer to the attached PDF document to see the version I am using.
Finally, I am using an XINTC and an AXI Interconnect blocks to route the AXI PS/2 Core to a MicroBlaze softprocessor. On the attached document, I added a block diagram that shows the chain of devices that allow connection between the keyboard and the MicroBlaze softprocessor.
When building the software for the MicroBlaze, I based my application on the demo application for the Nexys board available on github: https://github.com/Digilent/Nexys-Video-AXI-PS2-Keyboard/blob/master/sdk/appsrc/demo.c
I have tested that my application is able to interact with regular keyboards for a PC. However, when I try to interact with this specific wearable keyboard, I am not being able to communicate with the actual keyboard device. I can only access a mouse device that is available as part of this wearable keyboard.
According to what I have researched, it is possible to put two devices (keyboard + mouse) through the USB HID protocol. But I am wondering if this access to the two devices is still available after the Auxiliary Function Microcontroller PIC24FJ128 converts the USB HID into PS/2 protocol. Based on the documentation of the Basys-3 board, you can only have either a mouse or a keyboard at the same.
My specific question to you is: Given my current HW setup, is there a way to access the keyboard + mouse inside the wearable keyboard?
I already tried the sequence to detect PS/2 devices described on this website: https://wiki.osdev.org/"8042"_PS/2_Controller#Detecting_PS.2F2_Device_Types
The wearable keyboard device reply that I am getting is 0x03 which means that the device is identified as a "Mouse with scroll wheel" based on the table below:
Sorry for giving you a lot of information. I am hoping you can provide me some support around the capabilities of the PIC microcontroller on the Basys-3 board.
Thanks,
Gabriel.
KeyboardToMicroBlazeBlockDiagram.pdf AXI PS2.pdf
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now