Take it into the dealer and get it checked out. If your motor is pinging than something is seriously wrong, the exhaust noise may just be a heatshield, but it could also be because of the noises your motor is making.
Keep the revs low (no higer than 3K) untilit's in the shop. My motor started pinging just before my rod bearing went. You may also have gotten a tank of bad fuel. definitely don't wail on it until you find the source, it could be anything from fouled plugs, or a blown exhaust gasket to failing engine internals, too difficult to diagnose without checking other symptoms.
BTW, when my first motor went, I didn't get a check engine light, so just be gentle on it, and get it checked out, if you caught a major issue in time, it will not nearly require as much work to fix.
You may want to check your engine oil, see if the level is low, or if there are any metal fragments in it. you can cut open your old Oil Filter
(they have tools for this) and you can check the filter element for metal fragments or contaminents.
If it goes from that knocking "popcorn" sound to a metallic clanking (like bolts in a coffee can) than you're screwed, you'll also notice serious power loss.
Take that sucka in ASAP, have them check the rod bearings, as well as the cylinder head if the ECU says nothing. I wish you luck, when my bearing went, I needed a new short block (everything from the engine block to the oil pan) the head rebuilt, and a new water pump. If you can, get it towed to the shop, don't put the stress on the motor until you know for a fact it's good to go.
Hope your car is okay.