I am looking to write an application in C# and use both ARM based computers and x86 based computers. My question here is when using a J1939 to DB9 cable, do I need a specialized interface for the CAN bus protocol or would a serial port connection suffice?
There is a standard for SubD9 connectors being used for CAN by almost any CAN device outside the automotive world. The pinout is:
1: N/C 2: CAN Low 3: Ground 4: N/C 5: Shield 6: Ground (Optional) 7: CAN High 8: N/C 9: Optional voltage to supply small devices
As you see, this isn't RS232, and for sure, your cable is nothing more than an adaptor between both connector types.
You DO need a CAN interface. Most commonly are USB CAN interfaces, but there are also serial CAN interfaces, or even driver ICs, which might be suitable for ARM based systems.
I suggest you google MCP2515 CAN Module.
You will find an interface module which "translates" CAN bus signals to Serial.
And you will find programming examples. I founds several for Arduino.